我有一个2命令对象,SongCommand包括CoupletCommand作为List。
class SongCommand {
String title
List<CoupletCommand> coupletCommandList
Boolean isChorusRepeat
static constraints = {
title blank: false, size:1..129
coupletCommandList validator: { val, obj ->
def isValid = true
obj.each {
isValid = isValid && it.validate()
}
return isValid
}
}
}
包含在SongCommand中的第二个命令
class CoupletCommand {
Integer coupletPosition
String coupletText
Boolean isChorus
static constraints = {
coupletText blank: false, size:20..700
isChorus nullable: true
}
}
从客户端我收到了coupletPosition-i,coupletText-i,isChorus-i的范围,其中 -i 是某个位置,所以我从前端收到
coupletText-1
coupletText-2
.....
coupletText正
两个其他变量相同。
为每个对联生成的我的GSP模板可以是1到n。
<li>
<div class="form-group">
<label for="couplet-${songId}">Couplet:</label>
<input type="hidden" class="couplet-position" name="coupletPosition-${songId}" value="1">
<g:textArea name="coupletText-${songId}" class="form-control" rows="5" id="couplet-${songId}"/>
<div class="checkbox">
<label>
<input type="checkbox" name="isChorus-${songId}"/> Is Chorus
</label>
</div>
</div>
</li>
在控制器中我想验证这一切,如果某些部分没有验证带有错误和数据的返回页面。