Résumé de la validation Ruby on Rails

introduction

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.

Qu'est-ce que la validation?

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.

Écriture de base

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

Principaux assistants de validation

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 }
Options principales
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

Options courantes

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"}

référence

Guide de validation des enregistrements actifs v6 \ .0 https://railsguides.jp/active_record_validations.html

Recommended Posts

Résumé de la validation Ruby on Rails
Ruby on Rails élémentaire
Principes de base de Ruby on Rails
Association Ruby On Rails
Paramètres de validation pour la fonction de connexion Ruby on Rails
Création de portfolio Ruby on Rails
Record d'apprentissage Ruby on rails -2020.10.04
[Ruby on Rails] Debuck (binding.pry)
Record d'apprentissage de Ruby on rails -2020.10.05
Record d'apprentissage Ruby on rails-2020.10.07 ②
Record d'apprentissage Ruby on rails-2020.10.07 ①
Annuler la migration de Ruby on Rails
Record d'apprentissage de Ruby on rails -2020.10.06
Mémorandum de base Ruby on Rails
Ruby on Rails Résumé des exemples de méthodes de refactoring autour de MVC
Explication de Ruby sur rails pour les débutants ⑥ ~ Création de validation ~
[Ruby on Rails] Read try (: [] ,: key)
Installation de Ruby + Rails sur Ubuntu 18.04 (rbenv)
[Ruby on Rails] Introduction de la fonction de pagination
Connaissance de base de Ruby on Rails
Progatez Ruby on Rails
Comment utiliser Ruby on Rails
Ruby on Rails compatible japonais-anglais i18n
[Ruby on Rails] Fonction de sortie CSV
Mémo de construction de l'environnement Ruby on Rails 6.0
Ruby On Rails conçoit un conflit de routage
[Ruby on Rails] Implémentation de la fonction de commentaire
[Ruby on Rails] DM, fonction de chat
[Ruby on Rails] Méthode d'aide pratique
[Ruby on Rails] Arrêtez de "boucler jusqu'à ce que ..."
[Ruby on Rails] Introduction des données initiales
[Ruby on Rails] Fonction de recherche (non sélectionnée)
[Rails] Ajout de la fonction de commentaire Ruby On Rails
[Ruby on Rails] Création d'un formulaire de demande
Ruby on Rails6 Guide pratique cp13 ~ cp15 [Mémo]
[Ruby on Rails] Afficher le test avec RSpec
[Ruby on Rails] Vérification du code à l'aide de Rubocop-airbnb
[Ruby on Rails] 1 modèle CRUD (routage principal)
Méthode d'installation de Ruby on Rails [édition Mac]
Modèle [Ruby on Rails], commande de terminal de contrôleur
Vent arrière sur les rails
Ruby on Rails6 Guide pratique cp7 ~ cp9 [Mémo]
Ruby on Rails dans les espaces de codes Visual Studio
[Rails] Utiliser la validation sur un contrôleur spécifique
[Ruby on Rails] Suivez l'implémentation de la fonction: bidirectionnelle
Remarques sur l'utilisation de FCM avec Ruby on Rails
[Ruby on Rails] Test du contrôleur avec RSpec
Déployer sur Heroku [Ruby on Rails] Débutant
[Ruby on Rails] Diaporama d'images utilisant Skippr
Préparation à l'introduction de jQuery dans Ruby on Rails