我无法理解为什么这个非常简单的正则表达式令人心烦意乱:
"213213" ==~ /^\d+/
"213213dsadasd" ==~ /^\d+/
我希望val只是一串数字。以下返回true:
static constraints = {
intValue validator: {val,obj ->
if(val){
"${val}" ==~ /^[0-9]*$/
}
}
}
这些是域对象中字段验证的一部分。这是完整的代码:
{{1}}
以上示例将接受“321a31”或“321aa”...不确定正则表达式是错还是其他内容已关闭......
intValue是一个Integer,虽然默认验证会接受像'32112dsa'这样的字符串(并且只存储数字部分),这就是我尝试创建自定义验证器的原因。