1

我想要求用户输入“密码”,因为它们比人们想出的典型密码更安全。

我在用着

int numberOfWords = password.collect { 
    it.charAt(0).digit || it.charAt(0).letter ? it : ' ' 
}.join('').tokenize(' ').size()
numberOfWords >= 3

确保用户创建的密码至少包含 3 个单词以确保安全。我如何将这个逻辑包含在我的约束中?我试着把它变成一个方法,然后在约束内调用该方法,但它不起作用。

4

1 回答 1

2

假设您的逻辑/代码是正确的,您可以像这样包含约束。

  static constraints = {
    ...
    password blank: false, validator: { value, obj ->
      int numberOfWords = value.collect {....//your logic/code

      if(numberOfWords < 3) {
        //returns custom error msg with this key in message.properties
        return 'className.propertyName.passphrase.validation.msg'
      }
    }
  }

这是验证器信息的链接

于 2013-06-17T21:16:50.090 回答