验证grails域对象中的日期。

时间:2016-05-24 16:00:46

标签: grails groovy gorm

我使用grails 2.4和bootstrap日期选择器。

我试图保存并更新我的日期并验证它们。我将BindingFormat转换为日期对象。

@BindingFormat('MM/dd/yyyy')
Date expenseDate

当我保存日期时,我的验证器会以下列格式看到它。

   E MMM dd HH:mm:ss Z yyyy

因此,当我在域验证器中验证日期时,我使用以下代码。

final static DateFormat DATEFORMAT = new SimpleDateFormat('E MMM dd HH:mm:ss Z yyyy')

static constraints = {  
    expenseDate validator: {
        try {
            DATEFORMAT.parse(it.toString())
            return true
        } catch (ParseException e) {
            return 'invalidDateFormat'
        }
    }
}

现在在新记录中,一切似乎都正常工作,直到我去修改记录。当我尝试修改记录时,一旦页面加载,我会自动获得验证失败,因为数据库返回的格式是 2016-01-01 00:00:00.0 我该如何处理获取保存和返回的日期对象的格式是否相同,以便我可以正确验证它们?

0 个答案:

没有答案