gpt4 book ai didi

java - Grails 嵌套域 - 将所有错误添加到顶级域对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:14:54 25 4
gpt4 key购买 nike

我有一个这样的 Grails 域:

class User {
....
Address address
}

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

我正在尝试编写一个自定义 validator ,其中我执行 it.validate(),但我无法找到一种方法来“addAll”地址的错误消息。

最佳答案

下面在 grails 邮件列表上讨论了对子对象调用验证并将它们附加到可能对您有用的单个错误列表。

Form validation with children

如果 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>

关于java - Grails 嵌套域 - 将所有错误添加到顶级域对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7867627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com