Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Groovy & Grails > Каскадная валидация в Grails


Автор: xaoc2 29.2.2012, 15:20
Как правильно сделать каскадную валидацию в Grails? Пока испол'зую вот такой костыль:
Код

profile(nullable: true, validator: {
                it?.validate()
})



Код

class PersonProfile {
    String firstName
    String lastName
    String email
    static belongsTo = Person

    static constraints = {
        firstName(blank: false, size: 2..30)
        lastName(blank: false, size: 2..30)
        email(email:true, blank: false)
    }
}


class Person {

    String userName
    String password
    Date dateCreated
    PersonProfile profile

    static constraints = {
        userName(blank: false, size: 2..20)
        password(size: 4..30)
        profile(nullable: true, validator: {
                it?.validate()
        })
    }
}

....
def user1 = new Person(userName: "user1", password: "1234567",
                profile: new PersonProfile(firstName: "J", lastName: "Kowalski", email: "[email protected]"))
assert user1.validate() == falsе


Автор: AlexeyVorotnikov 1.3.2012, 09:31
Может быть так:
Код

user1.validate(deepValidate: true)


Добавлено через 2 минуты и 28 секунд
Хм... Только что внимательно прочитал доку. Каскадная валидация включена по умолчанию.

Автор: xaoc2 1.3.2012, 15:35
Не работает

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)