我有这个:
class Usuario {
String username
String password
String passwordDos
String nombre
String apellidoPaterno
String apellidoMaterno
Date fechaDeNacimiento
String sexo
String correo
static constraints = {
username blank: false, unique: true, validator: { val, obj ->
obj.password != val
return ['usuario.userPassError']
}
password blank: false, validator: { val, obj ->
obj.passwordDos == val
return ['usuario.passDiferentes']
}
passwordDos blank: false
nombre blank: false, maxSize: 64
apellidoPaterno blank: false, maxSize: 64
apellidoMaterno blank: true, maxSize: 64
sexo inList: ["Femenino", "Masculino"]
correo blank: false, maxSize: 128, email:true
}
}
我想返回错误消息,但我没有做错,我可以解释alguein吗?
最佳答案
我希望验证器闭包中会有某种条件返回。就目前而言,它们似乎总是会失败,并返回错误代码。
尝试编写您的自定义验证器,例如:
// username validator
validator: { val, obj ->
obj.password == val ? 'userPassError' : true
}
// password validator
validator: { val, obj ->
obj.passwordDos != val ? 'passDiferentes' : true
}
还请注意将返回的不同消息代码。
然后,确保在适当的
grails-app/i18n/messages*
文件中包含以下内容:usuario.username.userPassError = Username and password cannot be the same
usuario.password.passDiferentes = Password does not match password confirmation
关于grails - 带有grails的验证程序:无法创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8855499/