Вы можете добавить ограничения к классам команд.Если командный класс находится в том же файле .groovy, что и контроллер (в Groovy в каждом файле .groovy может быть более одного открытого класса), вам не нужно делать ничего особенного, чтобы Grails признал его командным классом..
Однако, если ваш командный класс находится где-то еще (например, в src / groovy), вам нужно аннотировать его с помощью @Validateable
и добавить имя пакета к параметру grails.validateable.packages
в Config.groovy
.Вот пример команды, которая не находится в том же файле, что и контроллер
pacakge com.example.command
@Validateable
class Person {
Integer age
String name
static constraints = {
name(blank: false)
age(size 0..100)
}
}
Добавьте следующее к Config.groovy
grails.validateable.packages = ['com.example.command']
Классы команд имеют метод validate()
, добавленныйGrails.После вызова этого метода все ошибки будут доступны в свойстве errors
(в соответствии с классами домена).