• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

Ce cours est en vidéo.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Mis à jour le 23/10/2018

Les validations

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

La validation est un outil qui permet de garantir tout un tas de choses sur les données stockées en base. Par exemple, que le titre d’un livre n’est pas vide. Pour ce faire, mettez à jour le modèle du livre :

# app/models/book.rb
class Book < ActiveRecord::Base
  belongs_to :category

  validates :title, presence: {
    message: "Le titre doit être renseigné."
  }

  validates :title, uniqueness: {
    message: "Ce titre est déjà pris."
  }
end

Ces lignes garantissent que les futurs livres créés auront un titre et qu’il sera unique.

Essayez dans la rails console de provoquer des erreurs :

book = Book.create title: ""

Constatez qu’il n’a pas d’identifiant : il n’a pas été enregistré en base. Il est possible de consulter les erreurs ainsi :

book.errors.to_hash
# => {:title=>["Le titre doit être renseigné."]}

La fonction to_hash permet de simplifier l’affichage de la fonction errors dans mon exemple. Pour chaque attribut – ici nous n’en avons qu’un, title –, nous avons à notre disposition un tableau d’erreurs – une seule ici.

Pour avoir la première erreur associée au titre, il suffit de faire l’une de ces deux lignes, qui sont synonymes :

book.errors[:title][0]
book.errors[:title].first

S’il n’y a pas d’erreur, le résultat sera nil.

Exemple de certificat de réussite
Exemple de certificat de réussite