参考文档说明尺寸约束:
使用Groovy范围来限制集合或数字的大小 字符串的长度。
当我对整数设置大小约束时,我会收到警告
域类的属性[prop] TheClass具有类型 [java.lang.Integer]并且不支持约束[size]。这个 验证期间不会检查约束。
该文档是错误的吗?
我知道我可以使用范围,但通常更容易指定数字中的数字位数而不是实际值(就像社会安全号码必须有7位数或其他任何数字,而不是制作范围为1000000 - 9999999)。
答案 0 :(得分:2)
如果你想要数字位数,请确保它是正数并且有一定的长度:
myInteger( validator: {
return it > 0 && (it.toString.length) == 7
})
答案 1 :(得分:2)
我在搜索JIRA时找到了答案:http://jira.codehaus.org/browse/GRAILS-947。该文档是错误的。
我们不需要数字字段的minSize,maxSize和size约束 因为此功能在最小,最大和范围限制上 各自。所以我们标记这些约束(仅限数字字段) 在0.5中弃用,并将其删除0.6。
看起来这取决于自定义验证器。
答案 2 :(得分:1)
您还可以使用max来约束像myIntProp这样的整数(最大值:9999999)
答案 3 :(得分:0)