Grails密码约束功能

时间:2013-06-17 20:57:44

标签: grails gorm

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

我正在使用

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

确保用户创建包含至少3个字的密码以确保安全性。我如何在我的约束中包含这个逻辑? 我试着把它变成一个方法然后只是在约束内部调用方法,但是它没有用。

1 个答案:

答案 0 :(得分: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'
      }
    }
  }

以下是validator info

的链接