Я пытаюсь обновить проект Grails 2.3.7 до Grails 3.2.3. В 2.3.7, я использовал собственные ограничения и зарегистрировать их в /conf/Config.groovy с помощью:Регистрация пользовательских ограничений
org.codehaus.groovy.grails.validation.ConstrainedProperty.registerNewConstraint('description', my.validation.DescriptionConstraint)
Тогда я могу использовать что-то вроде этого в домене:
static constraints = {
approvedDate(description: '>= applyDate')
}
Однако в Grails 3.2 0,3, Когда я ставлю выше команду (и удалить org.codehaus.groovy от имени пакета) в /conf/application.groovy я получил следующую ошибку:
Error occurred running Grails CLI: No signature of method: groovy.util.ConfigObject.registerNewConstraint() is applicable for argument types: (groovy.util.ConfigObject, groovy.util.ConfigObject) values: [[:], [DESCRIPTION_CONSTRAINT:[:]]]
Я обратите внимание, что класс проверки несколько изменился в Grails 3. Однако usin g из класса Grails-validation все же получил ту же ошибку.
Все плагины проверки, которые я нашел, были давно оставлены до Grails 3. И я не могу найти какой-либо документ для регистрации нового ограничения в Grails 3.2.
Попробуйте это: 'org.codehaus.groovy.grails.validation.ConstrainedProperty. registerNewConstraint ('description', my.validation.DescriptionConstraint.class) ' [DOC] (http://docs.grails.org/3.1.x/api/grails/validation/ConstrainedProperty.html#registerNewConstraint) – zfChaos
@zfChaos Спасибо , Однако это все равно получило такую же ошибку. Более того, 'import grails.validation.ConstrainedProperty' получил' невозможно разрешить класс grails.validation.ConstrainedProperty' Похоже, что этот файл еще не находится в среде Grails. Я пытаюсь зарегистрировать его в '/ grails-app/init/Application.groovy' вместо этого. Здесь нет ошибок. Однако я переношу другую часть проекта, поэтому я не могу проверить, работает ли он еще. – Meam