2012-01-13 2 views
0

У меня есть это:Validator с Граалей: Не удалось создать пользователя

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 пожалуйста?

+0

, что это проблема? Вы пытаетесь настроить сообщения проверки? – hvgotcodes

ответ

2

Я бы ожидал, что в закрытии валидатора будет какой-то условный возврат. Как бы то ни было, похоже, что они всегда будут терпеть неудачу, возвращая код ошибки.

Попробуйте писать пользовательские валидаторы, как:

// 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 
Смежные вопросы