2012-01-13 40 views
0

我有這樣的:驗證使用Grails:無法創建用戶

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 2012-01-13 18:40:00

回答

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*文件(S)以下:

usuario.username.userPassError = Username and password cannot be the same 
usuario.password.passDiferentes = Password does not match password confirmation