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 に答える