grails - 带有grails的验证程序:无法创建用户

标签 grails validation grails-validation

我有这个:

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/

相关文章:

grails - 当我运行grails run-app命令时,我停用了缓存,无法创建缓存

grails - 如何在Grails 3.2.x拦截器中为 Controller 匹配操作null

javascript - 如何在 asp.net mvc 3 中完全禁用 javascript 验证

javascript - jQuery 表单验证插件。仅为空字段制作背景颜色

grails - 如何覆盖 Grails 中的默认错误消息?

tomcat - Grails 2.3.0 Tomcat 进程在 Grails 应用程序被终止后仍然存在

grails - Grails应用程序在域类构建时抛出ConversionNotSupportedException

java - 将属性值注入(inject) java 验证错误消息

Grails 条件可空验证或具有可空选项的自定义验证器

grails - 具有单个grails域类属性的动态内联验证