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.