#grails #groovy
#grails #groovy
Вопрос:
Приветствую.
Просматривая Google, я обнаружил, что вы можете получить списки ограничений для класса домена в grails.
def constraintList= new DefaultGrailsDomainClass(User.class).constrainedProperties
Возможно ли сделать то же самое для классов, которые не являются объектами command или domain objects, но имеют аннотацию @Validatable?
Комментарии:
1. ОК. Я недостаточно подробно описал свой вопрос.
2. ОК. Я недостаточно подробно описал свой вопрос. Я играю с vaadin, и моя идея состоит в том, чтобы реализовать что-то вроде фабрики валидаторов, которая работает с формами vaadin на основе ограничений объекта. Аналогично jquery-validation-ui-plugin ( code.google.com/p/jquery-validation-ui-plugin ) но с vaadin. Для достижения этого мне нужно искать свойства объекта, чтобы получить их определенные ограничения. Это можно сделать с помощью объекта домена или командного объекта. Но я не нашел способа сделать это с помощью класса с @Validateable.
Ответ №1:
Да, но для работы @Validateable
аннотации вам необходимо применить следующее свойство к Config.groovy
// This list should contain the packages that are annotated @Validateable
grails.validateable.packages = ['com.example.package1', 'com.example.package2]
Комментарии:
1. Я знаю, что определение в Config.groovy свойства grails.validateable. пакеты позволяют использовать проверку в других классах. Вопрос заключается в том, как (во время выполнения) узнать, какие ограничения определены для класса.
Ответ №2:
Разве для этого не было бы достаточно заглянуть в constraints
статическое свойство класса?