Grails - объединить ошибки в объекте команды и подобъектах
Я проверил Grails: Как объединить ошибки объектов домена с ошибками объектов команды?, но по какой-то причине решения не работают для меня. Возможно, они предназначены только для Grails 1.3.7, а не для Grails 2.2.1.
У меня есть объект команды OuterObjectCommand, который содержит список InnerObjectCommand. Я заполняю его вручную в контроллере, а затем вызываю validate. Вызов validate() для OuterObjectCommand, по-видимому, не проверяет список InnerObjectCommand, поэтому я проверяю все элементы списка отдельно. Что я хочу сделать, это добавить все ошибки объектов InnerObjectCommand и объекта OuterObjectCommand в flash.errors. Как я могу это сделать?
1 ответ
Посмотрите на последний пример на странице валидатора.
Смутно, вам нужно что-то вроде ниже:
class ParentCommand {
List<ChildCommand> childCommands
static constraints = {
childCommands validator: {val, obj ->
def errors = []
val.each{
errors << (!it.validate() ? it.errors.allErrors : [])
}
errors?.flatten()
}
}
}