Пользовательская проверка Grails - PullRequest
4 голосов
/ 14 ноября 2010

Я хотел бы проверить, чтобы убедиться, что два поля не равны и одно больше другого.Скажите yearBorn и yearMarried.Они не могут быть равны и yearMarried должно быть больше yearBorn.

1 Ответ

10 голосов
/ 14 ноября 2010

Вы можете использовать двухпараметрический пользовательский валидатор, который имеет доступ как к проверяемому значению, так и ко всему экземпляру:

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'
      }
   }
}
...