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()
        }
    }
}
Другие вопросы по тегам