如何检查属性是否包含groovy中的空格?

时间:2012-02-08 03:12:51

标签: validation grails groovy constraints

我是grails的新手,我遇到了如何编写我班级其中一个属性的正确约束的问题。我想检查输入是否包含空格('')。这是我的代码..

static constraints = {    

username nullable: false, blank: false, minSize: 6, matches: /[A-za-z0-9_]{6,}/, validator: { 
           Account.countByUsername(it) < 1  
        }

请帮帮我。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可能希望使用自定义验证器,如:

username validator: { val -> if (val.contains(' ')) return 'value.hasASpace' }

编辑:正如R. Valbuena指出的那样,您需要将countByUsername()验证工具更改为unique: true

答案 1 :(得分:1)

除自定义验证程序外,您还可以使用matches validator确保仅使用有效字符。

看起来你在原始问题中使用了这个,而你正在使用的正则表达式不允许使用空格,因此带有空格的用户名应该使该验证器失败。

如果你想给某人一个特殊的信息,如果他们有空格(而不是其他一些无效的人物),那么doelleri的回答是正确的方法。