我试图验证SELECT。通常我会使用inList,因为SELECT意味着固定数量的字符串,但我想知道是否有更优雅的东西。在这种情况下,我有一个带有SELECT值的表单,其值为0-24,对应于接下来的24个月。Grails验证字符串为整数范围的最佳做法
在我cmdObject我有
class FormCommand {
String startSlot
static constraints = {
// startSlot(nullable:false, blank:false, range:0..24)
startSlot(nullable:false, blank:false,
validator: { val, obj -> val.toInteger() < 25})
}
}
我希望能够使用的范围:从0到24的语句,但是从我的理解范围,它们并不适用于生成的字符串由形式。
是否有一个首选的方法将输入的字符串强制转换为int,以便我可以使用范围:0..24?或者有另一种方法来处理这个问题?
我能做
inList: [ "0", "1", /* type them all out */, "24" ]
或写一些更强大的自定义验证,但我不知道是否有一个更时髦/ Grails的解决方案。
谢谢。
最终的解决方案是'code' – Tak 2011-06-09 05:47:11