Grails - 使用命令对象将多个具有相同名称的请求参数绑定(bind)到列表

标签 grails grails-2.0

我试图弄清楚如何使用命令对象将具有相同名称的请求参数绑定(bind)到列表。

我的命令对象目前看起来像:

class EventSaleDataCommand {
    List<Long> eventIds

    static constraints = {
        eventIds nullable: false
    }
}

这个命令对象的问题是它将允许诸如 appName/controllerName/actionName?eventIds=&eventsIds= 之类的 URL。即使 eventIds 参数为空,也要通过验证过程。

我想验证至少有一个 eventId 不是空的,所以我想知道最好的方法是什么?

最佳答案

这可能会给你你想要的:

class EventSaleDataCommand {
    List<Long> eventIds

    static constraints = {
        eventIds validator: { val ->
            val.any {
                it != null
            }
        }
    }
}

这将验证至少有一个元素是非空的。

关于Grails - 使用命令对象将多个具有相同名称的请求参数绑定(bind)到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25652934/

相关文章:

tomcat - Tomcat 部署 Grails 应用程序时出错

grails - 如何为基于REST和基于浏览器的交互创建URL映射

Grails - 实体名称为空

grails - Grails 3数据库迁移

grails - Grails中的验证错误

grails - Grails 2.0.0的就地插件

mysql - 如何在cloudfoundry中执行mysql脚本

grails - 如何在 grails 约束中设置固定长度的字符串?

grails - 配置和注入(inject) Grails 服务

security - 使用 Grails 2.4.4 而不是最新版本会不会更不安全