Je vais résumer des exemples, etc. principalement sous la forme d'un mémorandum du didacticiel Rails. Je vous serais reconnaissant si vous pouviez signaler des erreurs.
Vérification de l'état d'un objet avant de l'enregistrer dans la base de données. Vérifiez que la valeur saisie n'est pas invalide. Par exemple, vous pouvez empêcher l'enregistrement de données vides ou augmenter le nombre de caractères.
La méthode d'entrée de base est la suivante.
model
validates :Nom de colonne,assistant
#Si vous souhaitez appliquer à plusieurs colonnes
validates :Nom de colonne, :Nom de colonne, :Nom de colonne,assistant
presence Assurez-vous que l'attribut spécifié n'est pas vide.
model
valide le nom de la colonne, presence: true
model
validates :name, presence: true
#Si vous souhaitez appliquer à plusieurs colonnes
validates :name, :login, :email, presence: true
length Validez la longueur de la valeur d'attribut. Il existe de nombreuses options et vous pouvez spécifier différentes limites de longueur.
model
valide le nom de la colonne, length: {Limites}
model
validates :passward, length: { minimum: 5 } #5 caractères ou plus
validates :name, length: { maximum: 50 } #20 caractères ou moins
validates :passward, length: { in: 3..10 } #3 à 10 caractères
validates :registration_number, length: { is: 6 } #Seulement 6 caractères autorisés
uniqueness Vérifiez que les valeurs d'attribut sont uniques et uniques.
model
validates :Nom de colonne, uniqueness: true
model
validates :name, uniqueness: true
acceptance Validez si la case est cochée lors de la soumission du formulaire. Il est utilisé lorsqu'il est nécessaire de cocher «J'accepte les conditions d'utilisation».
model
validates :Nom de colonne, acceptance: true
model
validates :terms_of_service, acceptance: true
confirmation Vérifiez que les valeurs saisies dans plusieurs formulaires correspondent exactement. Il est utilisé pour faire correspondre les valeurs de l'adresse e-mail et l'adresse e-mail de confirmation.
model
validates :Nom de colonne, confirmation: true
model
validates :email, confirmation: true
numericality Vérifiez que seuls des nombres sont utilisés pour les attributs.
model
valide le nom de la colonne, numericality: true
model
validates :points, numericality: true
model
#Seuls les nombres entiers sont autorisés
validates :age, numericality: { only_integer: true }
option | Aperçu |
---|---|
:only_integer | Doit être un entier |
:equal_to | Doit être égal à la valeur spécifiée |
format Ceci est vérifié en testant si l'expression régulière donnée par l'option with correspond à la valeur d'attribut.
model
validates :Nom de colonne, format: { with:Limites}
model
#Seuls les caractères alphanumériques sont autorisés
validates :password, format: { with: /\A[a-zA-Z]+\z/ }
#Autoriser uniquement les adresses e-mail valides
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
validates :email, format: { with: VALID_EMAIL_REGEX }
Les expressions régulières ci-dessus pour autoriser uniquement les adresses e-mail valides sont basées sur le tableau ci-dessous.
Expressions régulières | Aperçu |
---|---|
z\d-.]+.[a-z]+\z/i | Expression régulière complète |
/ | Indique le début d'une expression régulière |
\A | Le début de la chaîne |
[\w+-.]+ | Alphabet, soulignement (_),plus(+),trait d'union(-),Point(.) Au moins un caractère ou plus |
@ | Atmark |
[a-z\d-.]+ | Répétez au moins une lettre de lettres minuscules, de chiffres, de tirets ou de points |
. | Point |
[a-z]+ | Répétez au moins une lettre minuscule |
\z | Fin de chaîne |
/ | Indique la fin d'une expression régulière |
i | Option Ignorer la casse |
1 | 2 |
---|---|
:message | Vous pouvez spécifier le message d'erreur qui s'affichera lorsque la validation échoue. S'il n'est pas spécifié, le message par défaut s'affiche. |
:allow_nill | Si la valeur cible est nulle, la validation sera ignorée. |
:allow_blank | La valeur d'attribut est vide?La validation réussit si: (nul, caractères vides, etc.). |
model
#Lors de la rédaction directe d'un message
valide le nom de la colonne, presence: { message:"Message d'erreur personnalisé"}
model
validates :name, presence: { message:"Champs obligatoires"}
Guide de validation des enregistrements actifs v6 \ .0 https://railsguides.jp/active_record_validations.html
Recommended Posts