gpt4 book ai didi

data-binding - Grails 数据绑定(bind)问题

转载 作者:行者123 更新时间:2023-12-02 15:14:33 24 4
gpt4 key购买 nike

这里缺少什么,因为当验证失败时,呈现的页面不会显示先前引入的值,因此用户无法更正它。请用缺少的代码更新我的代码!一切正常,除了在验证失败后返回之前引入的值消失了。

添加.gsp

    <div id="stylized" class="myform">
<g:form controller="conference" action="save">
<h1>Add New Conference Record</h1>
<p>Basic Information</p>

<label>Name
<span class="small">Add your name</span>
</label>
<input type="text" name="name" /><br>

...
...

<p>Dates</p>

<label>Start Date
<span class="small">First Day</span>
</label>
<g:datePicker name="startDate" precision="day" value="${new Date()}"/><br><br>

<label>End Date
<span class="small">First Day</span>
</label>
<g:datePicker name="endDate" precision="day" value="${new Date()}"/><br><br>


...
...

<g:submitButton name="save" value="Save" id="addConference"/>


<div class="spacer"></div>
</g:form>

<g:hasErrors bean="${conferenceInstance}">
<div class="errors">
<g:renderErrors bean="${conferenceInstance}" as="list" />
</div>
</g:hasErrors>

</div>

session Controller
  def save = {
def conferenceInstance = new Conference(params)
if (conferenceInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'conference.label', default: 'Cferenceon'), conferenceInstance.id])}"
redirect(action: "/index")
}
else {
render(view: "add", model: [conferenceInstance: conferenceInstance])
}
}

最佳答案

“教人钓鱼”答案

当验证失败时,Grails 脚手架会显示以前的值,因此查看它应该如何工作的最简单方法是运行:

grails generate-all Conference

然后研究生成的 Controller 和 GSP 的代码。

勺子喂养的答案

如果您指定,问题出在您的 GSP 代码中
<g:datePicker name="startDate" precision="day" value="${new Date()}"/>

日期选择器将始终显示今天的日期。同样,此文本字段将始终为空白:
<input type="text" name="name" />

因为你没有指定 value属性。

当验证失败时,您需要从验证失败的 bean 中获取值,因此将上面的替换为:
<g:datePicker name="startDate" precision="day" value="${conferenceInstance?.date}"/>


<input type="text" name="name" value="${conferenceInstance?.name}"/>

关于data-binding - Grails 数据绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6015261/

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