请帮助我解决以下问题:
我有2个域类(Parent,Child),我不想将它映射到表,所以我放了mapWith=none
。但是,当我parent.validate()
时,我希望将验证级联到孩子身上。如何为未映射到表的域对象启用级联验证?
非常感谢提前!
答案 0 :(得分:0)
不知道你是否可以通过设计。
您可以选择在父对象上添加customValidation()方法以启动检查,该检查循环遍历子项并调用其validate()方法。然后可以将子项上的任何错误添加到父对象的errors对象中。
boolean cascadedValidation() {
this.validate();
children.each {
if (!it.validate()) {
it.errors.allErrors.each { err ->
// Bind somewhere on parent object
}
}
}
return this.hasErrors();
}