но зачем обращаться к статическим полям
не работает?
Потому что статическое поле "ограничений"
является закрытой собственностью. Не имеет
подсвойства, относящиеся к
ограничения.
Grails оценивает это закрытие, используя
построитель ограничений, который контролирует
«вызывает» методы, которые не существуют,
то есть имена свойств, которые вы используете:
type( inList: [xxxxx])
... вызывает вызов метода "type" с
параметр Map, содержащий «inList»
==> некоторое значение.
Из этой информации Grails создает
список всех ограничений
доступно и связывает их с будущим
экземпляры класса домена.
Итак, при доступе к User.constraints
статически вы получаете
Закрытие.
Мы могли бы посмотреть на замену значения
свойства статических ограничений
во время выполнения после оценки
Закрытие инициализируется с.
Однако это может быть немного "слишком много"
магия. Что думают люди?
К вашему сведению, сейчас так, потому что до
0.4 (если я помню) ограничения не были статичными, а в 0.4 они могут
все еще быть нестатичным. Только в 0.5
мы бросим исключение / проигнорируем
нестатические ограничения.