Ruby on Rails - Validations des entrées utilisateur

Voici la liste des validations que vous pouvez effectuer sur saisie utilisateur -

validates_presence_of

Les vérifications suivantes que last_name et first_name doivent être renseignés et ne doivent pas être NULL.

validates_presence_of :firstname, :lastname

validates_length_of

L'exemple suivant montre diverses validations sur un seul champ. Ces validations peuvent être effectuées séparément.

validates_length_of :password,
   :minimum => 8           # more than 8 characters
   :maximum => 16          # shorter than 16 characters
   :in => 8..16            # between 8 and 16 characters
   :too_short => 'way too short'    
   :too_long => 'way to long'

validates_acceptance_of

Ce qui suit n'acceptera que la valeur «Y» pour le champ d'option.

validates_acceptance_of :option            
                        :accept => 'Y'

validates_confirmation_of

Les champs password et password_confirmation doivent correspondre et seront utilisés comme suit -

validates_confirmation_of :password

validates_uniqueness_of

Ce qui suit met une condition pour que nom_utilisateur soit unique.

validates_uniqueness_of :user_name

validates_format_of

Ce qui suit confirme qu'un ID de messagerie donné est dans un format valide. Cela montre comment vous pouvez utiliser une expression régulière pour valider un champ.

validates_format_of :email
   :with => /^(+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i

validates_numericality_of

Cela valide que le champ donné est numérique.

validates_numericality_of   :value                 
                            :only_integer => true   
                            :allow_nil => true

validates_inclusion_of

Les contrôles suivants vérifient que la valeur transmise est une énumération et tombe dans la plage donnée.

validates_inclusion_of  :gender,   
                        :in => %w( m, f )

validates_exclusion_of

Les contrôles suivants vérifient que les valeurs données ne tombent pas dans la plage donnée.

validates_exclusion_of  :age        
                        :in => 13..19

validates_inclusion_of

Les contrôles suivants vérifient que les valeurs données doivent être comprises dans la plage donnée. C'est le contraire de validates_exclusion_of.

validates_inclusion_of  :age
                        :in => 13..19

validates_associated

Cela valide que l'objet associé est valide.

Options pour toutes les validations

Vous pouvez utiliser les options suivantes avec toutes les validations.

  • :message => 'my own errormessage' Utilisez cette option pour imprimer un message d'erreur personnalisé en cas d'échec de la validation.

  • :on => :create or :updateCela sera utilisé dans les cas où vous souhaitez effectuer une validation uniquement lorsque l'enregistrement est en cours de création ou de mise à jour. Donc, si vous utilisez:create alors cette validation ne fonctionne que lorsqu'il y a une opération de création sur la base de données.

Consultez le lien Validations pour plus de détails sur les validations.

rails-references-guide.htm