0
請你能幫助我與下面的問題:Grails的級聯驗證對象沒有被映射到表
我有,我不希望被映射到表2域類(父母,子女),所以我把mapWith=none
。但是,當我做parent.validate()
我想驗證級聯到孩子。如何爲未映射到表的域對象啓用級聯驗證?
非常感謝提前!
請你能幫助我與下面的問題:Grails的級聯驗證對象沒有被映射到表
我有,我不希望被映射到表2域類(父母,子女),所以我把mapWith=none
。但是,當我做parent.validate()
我想驗證級聯到孩子。如何爲未映射到表的域對象啓用級聯驗證?
非常感謝提前!
不知道你是否可以通過設計。
您可以選擇在父對象上添加一個customValidation()方法,以啓動一個循環遍歷子項並調用它們的validate()方法的檢查。然後可以將任何兒童錯誤添加到父對象的錯誤對象中。
boolean cascadedValidation() {
this.validate();
children.each {
if (!it.validate()) {
it.errors.allErrors.each { err ->
// Bind somewhere on parent object
}
}
}
return this.hasErrors();
}
非常感謝您的解決方案!我正在考慮做類似的事情,但我不是很高興,因爲它更像是一個bandaid .... :(我在GormValidationApi中看到一個if語句,用於測試當前驗證器是否是CascadeValidator的實例...我正在嘗試找到一種方法來注入一個CascadeValidator的實例來驗證Gorm方法,以便強制級聯。 –
必須有一個解決方法或解決方案,不能相信你不能級聯驗證,除非你將域映射到表! –
也許這個職位是用途:http://stackoverflow.com/questions/1040596/grails-validation-of-a-list-objects – Wytze