我试图弄清楚如何使用命令对象将具有相同名称的请求参数绑定(bind)到列表。
我的命令对象当前看起来像:
class EventSaleDataCommand {
List<Long> eventIds
static constraints = {
eventIds nullable: false
}
}
该命令对象的问题在于,即使eventIds参数为空,它也将允许诸如
appName/controllerName/actionName?eventIds=&eventsIds=
之类的网址通过验证过程。我想确认至少有一个eventId不为空,所以我想知道最好的方法是什么?
最佳答案
这可能会给您您想要的:
class EventSaleDataCommand {
List<Long> eventIds
static constraints = {
eventIds validator: { val ->
val.any {
it != null
}
}
}
}
这将验证至少一个元素为非null。