Ограничения класса домена Grails для отношения между полями

Я должен записать Доменное ограничение класса в Grails, который говорит, что одно целочисленное поле должно быть больше или равным, чем другой.

Когда я пишу код как это:

class MyDomain {

 String title
 int valueMin = 1
 int valueMax = 1

 static constraints = {
  valueMin(min:1)
  valueMax(min:valueMin)
 }
}

Я получаю ошибку:

Caused by: groovy.lang.MissingPropertyException: No such property: valueMin for class: MyDomain

Какая-либо идея?

5
задан Pavel P 8 January 2010 в 13:53
поделиться

2 ответа

http://grails.org/doc/latest/ref/Constraints/validator.html

Это должно более или менее работать (не тестировалось)

class MyDomain {

 String title
 int valueMin = 1
 int valueMax = 1

 static constraints = {
  valueMin(min:1)
  valueMax(validator:{
    value, reference ->
    return value > reference.valueMin
  })
 }
}
10
ответ дан 13 December 2019 в 05:36
поделиться

Это не сработает, потому что ограничения представляют собой статический блок кода, который будет иметь доступ только к статическим переменным.

Итак, вы можете написать свой собственный индивидуальный трэнг, если хотите: взгляните на эту ссылку: http://grails.org/doc/latest/guide/single.html#7 . Проверка

2
ответ дан 13 December 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: