我想要求用户输入“密码短语”,因为它们比人们提出的典型密码更安全。
我正在使用
int numberOfWords = password.collect {
it.charAt(0).digit || it.charAt(0).letter ? it : ' '
}.join('').tokenize(' ').size()
numberOfWords >= 3
确保用户创建包含至少3个字的密码以确保安全性。我如何在我的约束中包含这个逻辑? 我试着把它变成一个方法然后只是在约束内部调用方法,但是它没有用。
答案 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'
}
}
}
的链接