Я должен записать Доменное ограничение класса в 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
Какая-либо идея?
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
})
}
}
Это не сработает, потому что ограничения представляют собой статический блок кода, который будет иметь доступ только к статическим переменным.
Итак, вы можете написать свой собственный индивидуальный трэнг, если хотите: взгляните на эту ссылку: http://grails.org/doc/latest/guide/single.html#7 . Проверка