Grails: пользовательский валидатор, основанный на предыдущем значении поля - PullRequest
3 голосов
/ 15 февраля 2011

Я пытаюсь создать пользовательский валидатор для переменной 'amount' в моем доменном классе, чтобы новое значение было больше предыдущего на 0,50.

Например, допустим, предыдущее значение было 1,0, в следующий раз значение должно быть не менее: [предыдущее значение + 0,50] или более.

Заранее спасибо за помощь

Ответы [ 2 ]

4 голосов
/ 15 февраля 2011

Вы можете попробовать прочитать domainEntity.getPersistentValue('amount').

РЕДАКТИРОВАТЬ: ... в пользовательском валидаторе, например:

class Bid { 
  Double amount 
  ...
  static constraints = { amount(validator: { double a, Bid b -> 
    def oldValue = b.getPersistentValue('amount')
    a > oldValue + 0.5 ? true : "Amount $a should be at least ${oldValue  + 0.5}" }) 
  }
}
0 голосов
/ 27 января 2015

Спасибо, Виктор Сергиенко, но я немного изменяю ваш кодвсегда возвращаю нулевое значение, моя версия Grails 2.4.3

...