Forms 一次提交多个grails域对象
我有一个表单,用户可以在其中输入相同域类的许多记录。提交后,应对这些记录进行验证。如果验证成功,则应将记录集合传递给另一个视图,否则应在同一视图中显示验证错误,保留以前输入的值。应使用专用命令对象进行验证 为了制作更好的图片,表单大致如下所示: 我提出了一个将每条记录映射到表单的解决方案(items list从呈现视图的初始操作返回):Forms 一次提交多个grails域对象,forms,validation,grails,model-view-controller,domain-object,Forms,Validation,Grails,Model View Controller,Domain Object,我有一个表单,用户可以在其中输入相同域类的许多记录。提交后,应对这些记录进行验证。如果验证成功,则应将记录集合传递给另一个视图,否则应在同一视图中显示验证错误,保留以前输入的值。应使用专用命令对象进行验证 为了制作更好的图片,表单大致如下所示: 我提出了一个将每条记录映射到表单的解决方案(items list从呈现视图的初始操作返回): 以及模板: <form> ... <g:textField value="${item.url}" name="url"
以及模板:
<form>
...
<g:textField value="${item.url}" name="url"></g:textField>
...
</form>
...
...
但我不确定这种方法的正确性
在实施此场景时,我几乎没有遇到什么挑战:
<form>
...
<g:textField value="${item.url}" name="url"></g:textField>
...
</form>
import org.apache.commons.collections.ListUtils
import org.apache.commons.collections.Factory
@Validateable
class ItemsCommand {
List<Item> items = ListUtils.lazyList([], {new Item()} as Factory)
}
<g:each in="${command.items}" var="item" status="i">
<g:textField name="items[$i].url" value="${item.url}" />
...
</g:each>
//this is the submit action, the command will have the Item
//instances though Data Binding.
def myAction(ItemsCommand command) {
}