よく使うバリデーション (#コピペメモシリーズ)


バリデーションとは

不正なデータがデータベースに保存されないようにデータをチェックするシステムをバリデーションという。
不正なデータの場合はデータベースに保存されない。

validates 書き方

モデルクラスにvalidatesメソッドを指定することで、バリデーションをかけることができる。(バリデーションはモデルで設定する。)
このときに、validatesを用いてカラム名と内容を指定する。

バリデーションの種類 一部分

# ・validates :カラム名, バリデーションしたい条件: 内容
# ・最大文字数:length: { maximum: 20 }
# ・最小文字数:length: { minimum: 20 }
# ・文字数の範囲:length: { in: 1..30 }
# ・空でない:presence: true
# ・他と被っていない:uniqueness: true
# ・正規表現:format: { with: /<正規表現>/}
# ・「<属性名>_confirmation」と一致:confirmation: true
例)
validates :name,  presence: true, length: { in: 2..20 }, uniqueness: true
validates :introduction, length: { maximum: 50 }

この場合
nameに空でない且つ2〜20文字の範囲で他と被っていないバリデーション
introductionに最大文字数50文字までのバリデーションがかかっています。

自分はよくバリデーションの書き方を忘れるのでmodelファイルに

# ・最大文字数:length: { maximum: 20 }
# ・最小文字数:length: { minimum: 20 }
# ・文字数の範囲:length: { in: 1..30 }
# ・空でない:presence: true
# ・他と被っていない:uniqueness: true
# ・正規表現:format: { with: /<正規表現>/}
# ・「<属性名>_confirmation」と一致:confirmation: true

バリデーションの書き方を貼り付けて作業しています。

終わり