我有一个表单,用户可以在其中输入同一域类的许多记录。这些记录中的每一个都应在提交后进行验证。如果验证成功,则应将记录集合传递到另一个视图,否则应在同一视图中显示验证错误,并保留先前输入的值。应使用专用命令对象进行验证。
为了画得更好,表格大致是这样的:
我想出了一个将每条记录映射到表单的解决方案(项目列表是从呈现视图的初始操作返回的):
<g:each in="${items}" var="item">
<g:render template="orderItem" model="[item: item]"/>
</g:each>
和模板:
<form>
...
<g:textField value="${item.url}" name="url"></g:textField>
...
</form>
但我不确定这种方法的正确性。
在实施此方案时,我面临一些挑战:
- 有没有更好的方法将每个记录实例映射到视图中的字段行,以便一行字段代表一个记录?
- 如何通过一次调用控制器操作来传递和验证整个集合?
提前致谢。