gpt4 book ai didi

grails - 如何在grails Controller 的hasErrors()方法中省略字段验证

转载 作者:行者123 更新时间:2023-12-02 15:48:31 25 4
gpt4 key购买 nike

我正在使用grails 2.4.2版本。我有一个域类,其中有另一个域类对象的字段。当我为我的域生成 View 时,它将为该类对象创建一个选择框。我评论了选择框,并将ID从 View 传递到 Controller 。在 Controller 中,我试图通过grails的domain.get()方法添加类对象。但是对于 Controller 中的hasErrors()方法,它始终显示验证问题,并在没有保存的情况下将错误重定向到我。如果我评论hasErrors(),那么它将正确保存。但是我需要使用hasErrors()进行其他字段验证。谁能帮我吗?这是我的代码如下:

我的网域>>>

    class ThanaAgent {

String agentName
DistrictAgent districtAgent

...
}

我的 Controller 保存方法>>>
@Transactional
def save(ThanaAgent thanaAgentInstance) {

if (thanaAgentInstance == null) {
notFound()
return
}

DistrictAgent districtAgent = DistrictAgent.get(Long.parseLong(params.districtAgentId))
thanaAgentInstance.districtAgent = districtAgent

if (thanaAgentInstance.hasErrors()) {
respond thanaAgentInstance.errors, view: 'create'
return
}

thanaAgentInstance.save flush: true

request.withFormat {
form multipartForm {
flash.message = message(code: 'default.created.message', args: [message(code: 'thanaAgent.label', default: 'ThanaAgent'), thanaAgentInstance.id])
redirect thanaAgentInstance
}
'*' { respond thanaAgentInstance, [status: CREATED] }
}
}

在这里,我将对象分配为districtAgent。

在我看来,而不是选择>>>
<div class="form-group">
<label>District Agent</label>
...
<g:hiddenField name="districtAgentId" id="districtAgentId"
value="1"/>
%{--<g:select id="districtAgent" name="districtAgent.id" from="${book.DistrictAgent.list()}" optionKey="id" required="" value="${thanaAgentInstance?.districtAgent?.id}" class="form-control"/>--}%
</div>

最佳答案

哦,太简单了。只需在选择框中编辑字段名称,如下所示:

<g:hiddenField name="districtAgent.id" id="districtAgent"
value="${thanaAgentInstance?.districtAgent?.id}"/>

关于grails - 如何在grails Controller 的hasErrors()方法中省略字段验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43419358/

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