Grails嵌套域 - 将addAll错误添加到顶级域对象

Man*_*ish 6 java validation error-handling grails

我有一个像这样的Grails域:

class User {
....
Address address
}
Run Code Online (Sandbox Code Playgroud)

在保存用户的同时,我也要验证Address对象,并将Address对象的所有错误添加到User对象本身.

我正在尝试编写一个自定义验证器it.validate(),但我无法找到"addAll"地址错误消息的方法.

小智 4

下面的 grails 邮件列表中的讨论涉及对子对象调用验证并将它们附加到可能适合您的单个错误列表中。

与儿童一起进行表单验证

如果 Address 有static belongsTo = [user:User],那么调用 User.validate() 或 User.save() 也应该对 Address 调用验证。我没有尝试将子对象上的错误收集到父对象的错误列表中,但对于简单的一对一关联,您可能不需要这样做,只需显示如下错误:

<g:if test="${user?.hasErrors() || user.address?.hasErrors()}">
  <div class="errors">
    <g:hasErrors bean="${user}">
       <g:renderErrors bean="${user}" as="list" />
    </g:hasErrors>
    <g:hasErrors bean="${user?.address}">
       <g:renderErrors bean="${user?.address}" as="list" />
    </g:hasErrors>
  </div>
</g:if>
Run Code Online (Sandbox Code Playgroud)