使用Grails命令验证对象列表

时间:2015-04-05 09:46:47

标签: validation grails command

我有一个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>

在控制器中我想验证这一切,如果某些部分没有验证带有错误和数据的返回页面。

0 个答案:

没有答案