自定义Grails验证

Jos*_*h K 4 validation grails grails-validation grails-domain-class

我想检查以确保两个字段不相等,一个字段大于另一个字段.说yearBornyearMarried.他们不能平等,yearMarried必须更大yearBorn.

Bur*_*ith 10

您可以使用双参数自定义验证程序,该验证程序可以访问要验证的值和整个实例:

static constraints = {
   yearMarried validator: { year, instance ->
      if (year == instance.yearBorn) {
         return 'i18n.code.for.equal.value'
      }
      if (year <= instance.yearBorn) {
         return 'i18n.code.for.born.after.married'
      }
   }
}
Run Code Online (Sandbox Code Playgroud)