我想在用户在grails中的注册表单中输入dob时检查日期

我想在用户在grails中的注册表单中输入dob时检查日期,grails,Grails,我有一个表单,用户必须以year/mm/date等格式输入出生日期。我想检查年份是否在1990年到2050年之间,月份不大于12,日期不大于31。我希望在grails中使用此字段。假设域类字段的类型为String以下约束应满足您的要求 static constraints = { date validator: { dateAsString -> try { Date d = Date.parse('yyyy/MM/dd', dateAs

我有一个表单,用户必须以year/mm/date等格式输入出生日期。我想检查年份是否在1990年到2050年之间,月份不大于12,日期不大于31。我希望在grails中使用此字段。

假设域类字段的类型为
String
以下约束应满足您的要求

static constraints = {

    date validator: { dateAsString ->

        try {
            Date d = Date.parse('yyyy/MM/dd', dateAsString)
            d[Calendar.YEAR] in 1990..2050
        } catch (ex) {
            false
        }        
    }
}

虽然这种方法可行,但就我个人而言,我会将域类字段设置为日期,并使用Grails的数据绑定支持来转换表单的请求参数?你尝试的东西有什么不起作用?这不是“为我编写此代码”服务。我只是在中测试[1990-2000]/[1-12]/[1-31],但它不起作用。我希望它在grails域类中受到约束。