Estoy utilizando el dispositivo como motor de autenticación en mi aplicación. ¿Hay alguna forma de utilizar mensajes personalizados cuando falla la validación de diseño? Devise me proporciona el siguiente mensaje cuando la contraseña está en blanco: Password can't be blank
, pero necesito otro mensaje. ¿Cómo puedo hacerlo?Diseñe mensajes personalizados cuando la validación falla
Respuesta
ActiveRecord en.yml es la respuesta que yo sugeriría que si desea cambiar el Mensaje de validación para Diseñar
Así es como la linea. yml debe verse como
en:
activerecord:
errors:
models:
user:
attributes:
email:
blank: "Please Specify an Email id"
taken: "Please use a different Email id"
invalid: "Please Specify a valid Email id"
password:
blank: "Please Specify a Password"
confirmation: "Password does not match"
password_confirmation:
blank: "Please Specify a Password Confirmation"
first_name:
blank: "Please Specify First Name"
last_name:
blank: "Please Specify Last Name"
pdf:
attributes:
name:
blank: "Please Specify name to PDF"
taken: "Please use different name for PDF"
attachment:
blank: "Please Upload a PDF Attachment"
data_element:
attributes:
name:
blank: "Please give Element a desired name"
taken: "Already Created Element with given name"
color:
blank: "Please assign a color to Element"
template:
attributes:
name:
blank: "Please Specify a Name"
taken: "Please use a different name"
I a que DVICE para definir de esta manera en lugar de la personalización de idear módulo de validación
Porque si sigue el enfoque anterior, sería posible que usted será ignorado durante la validación de un lugar o dos
Por ejemplo, yo la quito el legado anterior módulo de validación y luego substitué su cuenta en usuario Modelo
entonces toda la validación funcionaría para sino que se perdería la validación en Cambiar contraseña
Hay por resultado el hacer login a pesar de que la contraseña no se suministra y nunca dado
Mantenga un bucle de eso también
Cheer
Saludos
No es una respuesta completa, pero parece que debería resolverse con I18n, ya sea con las claves internas del diseño o anulando los mensajes de error de validación del registro activo para su modelo de usuario.
Aquí hay una pregunta similar: Devise attributes for i18n?
Consulte la siguiente URL.
http://railscasts.com/episodes/210-customizing-devise?view=asciicast
Si el usuario inicia sesión en, se pueden editar todos los mensajes de error en devise.en.yml
bajo config/locales
.
Si se registra, Devise proporciona sus propias validaciones listas para usar sin ninguna personalización. Si desea personalizarlo, puede editar el modelo User
.
Encuentra devise :validatable
y elimina la opción :validatable
. Después de lo cual, podrá usar las validaciones de rieles habituales. Tenga en cuenta que esto hará que tenga que hacer todas las validaciones usted mismo.
validates_presence_of :password, :message=>"Your custom error message!"
Algunas validaciones habituales:
validates_confirmation_of :password
validates_presence_of :password, :on => :create
validates_presence_of :email
validates_uniqueness_of :email
Puede personalizar sus mensajes Idear de config/lugares/devise.en.yml pero si desea cambiar a continuación mensaje de validación eliminar: validable desde Model. Luego puede cambiar un mensaje de validación como antes. Por ejemplo:
validates_uniqueness_of :email, :case_sensitive => false, :allow_blank => true, :if => :email_changed?
validates_format_of :email, :with => Devise.email_regexp, :allow_blank => true, :if => :email_changed?
validates_presence_of :password, :on=>:create
validates_confirmation_of :password, :on=>:create
validates_length_of :password, :within => Devise.password_length, :allow_blank => true
- 1. Los mensajes de validación se muestran cuando carga la página
- 2. Prevenir el enfoque en el campo cuando falla la validación
- 3. mensajes personalizados JSF 2.0
- 4. Uso de mensajes de error authlogic personalizados
- 5. asmack - recibir mensajes XML personalizados ||
- 6. ¿Agregar mensajes personalizados en assert?
- 7. Django ModelForm falla la validación sin errores
- 8. ¿Por qué este XDocument falla la validación?
- 9. Validación MVC DateTime que falla
- 10. mensajes de error personalizados con Formulario tipo
- 11. mensajes de error personalizados para grupos dentro del plugin de jQuery Validación
- 12. Complemento de validación de jQuery: no hay mensajes de error en lugar de fondos personalizados
- 13. jQuery Validate - Ocultar mensajes de error de validación de visualización/mostrar errores personalizados
- 14. La opción de solicitud de selección desaparece cuando la validación falla en Rails
- 15. Cambiar la clase css de textbox cuando la validación de ASP.NET falla
- 16. ¿Crear tipos de mensajes personalizados en win32?
- 17. Validación Knockout - Cómo mostrar mensajes de error
- 18. Mensajes de error de validación sin el atributo
- 19. Validación XHTML, espacios de nombres y atributos personalizados
- 20. Carriles no generar mensajes de validación fallan
- 21. Cómo agregar mensajes de error personalizados en Hibernate validador
- 22. La validación de clases complejas en ASP.NET MVC4 falla
- 23. ¿De qué sirve JSLint si jQuery falla la validación
- 24. forma Django falla la validación en un campo único
- 25. Deshabilitar el botón Guardar en WPF si la validación falla
- 26. ¿Cómo crear mensajes personalizados en magento cuando un usuario agrega un artículo a un carrito?
- 27. ¿Cómo imprimir más cuando falla la aserción?
- 28. La validación del esquema Xml falla con MemoryStream en C#
- 29. Mapa en la falla de validación de Scalaz
- 30. ¿Cómo crear mensajes 404 personalizados en JSF 2.0?
¿DÓNDE es esto? 'config/locals/en.yml'? – ahnbizcad
¿Qué quiere decir con deshacerse del "módulo de validación de diseño anterior" y sustituir el suyo en el Modelo de usuario? En primer lugar, no existe un módulo de validación de diseño anterior. Lo que escribió arriba es el archivo en.yml, no el archivo devise.en.yml. E incluso el archivo devise.en.yml no es un módulo de validación. ¿Cómo se puede poner el código devise.en.yml en el modelo de Usuario? Eso es como una estaca cuadrada en un agujero redondo. ¿Qué quiere decir con "mantener un ciclo de eso también"? ¿Que pasará a un bucle infinito si se omite la validación de "cambio de contraseña"? – ahnbizcad
Otra pregunta: pensé que estos mensajes yml eran mensajes, no validaciones reales. ¿Por qué cambiarlos eludiría una validación? Tal vez mis ediciones sugeridas no son lo que querías decir, pero de todos modos no estaba claro antes. – ahnbizcad