2 votes

Ne pas montrer d'autres messages de validation sans présence

En ce moment, j'ai un User modèle avec un username qui est validé par :

validates :username, 
    :presence => true,
    :length => { :in => 3..60 }, 
    :format => { :with => /^[a-zA-Z0-9\-_ ]+$/ }

Comment puis-je cacher le :length y :format des erreurs de validation si :presence n'est pas respectée ?

4voto

Deepika Points 816

Essayez :allow_blank => true dans les 2e et 3e validations.

3voto

alek Points 185

Je pense que tu peux faire comme ça :

validates :username, 
  :presence => true,
  :length => { :in => 3..60, :allow_nil => true }, 
  :format => { :with => /^[a-zA-Z0-9\-_ ]+$/, :allow_nil => true }

Il ne se souciera pas des validations de longueur et de format lorsque le nom d'utilisateur n'est pas défini, mais il fonctionnera bien si au moins un caractère est saisi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X