validationについて(随時更新)

はじめに

今回はvalidationについて学んだことをまとめていきたいと思います。

validationとは?

DBにデータを保存する際、Rails側でデータが適当なものか検証(validate)することです。
RailsとDBの間にいる門番(Rails側)みたいなイメージです。

基本構文

modelに書きます。
「validates」メソッドを使用します。

validates :カラム名, ヘルパー: オプション
#カラムはシンボルで表します。

各ヘルパーについて

presence

カラムが空白でないかを検証するのに使います。
オプションで「true」を与えることで、カラム値が空白の場合、falseを返します。

validates :name, presence: ture

uniqueness

カラム値が一意かを検証するのに使います。
オプションで「true」を与えることで、既に同じカラム値がDBに登録されている場合、falseを返します。

validates :email, uniqueness: true

format

カラム値と正規表現が合致しているかを検証するのに使います。
オプションは「with:」を使用します。

validates :email, format: {with: 正規表現}

length

カラム値の長さを検証します。
オプションは以下のようになります。

maximum:

最大値を指定します。

validates :name, length: { maximum: 30 }
minimum:

最小値を指定します。

validates :name, length: { minimum: 10 }
in:

値の長さの範囲を指定します。

validates :name, length: { in: 1..5 }
is:

値の長さを指定します。

validates :name, length: { is: 4 }