【Ruby on Rails】バリデーションについて【学習記録3】

今回はバリデーションまわりの勉強。代表的なバリデーションについて以下にまとめてみた。

必須項目チェック

まずは一番基本、必須項目チェック。必須項目の場合は「presence」という属性を「true」にしてあげる。


validates :column, presence: true

create時のみ、もしくはupdate時のみ必須にしたい場合は以下のように記述する。


validates :column, presence: { on: :create } # create時のみ必須

validates :column, presence: { on: :update } #update時のみ必須

長さチェック

長さチェックの場合は length を使用。最小の場合は minimum, 最大の場合は maximum を設定。


validates :column, length: { minimum: 10, maximum: 50 } # 10 ~ 50 文字

空欄の場合はチェックを行わない…というようにしたい場合は「allow_blank」属性に true を指定。


validates :column, length: { minimum: 10, allow_blank: true }

正規表現

正規表現でのバリデーションをかける場合は format を使用する。


validates :column, format: { with: /正規表現/, message: "エラーの時の文言" }

範囲

範囲を指定する場合は inclusion を使用し、以下のように 「in」に範囲オブジェクトを渡す。


validates :column, inclusion: { in: (0..100) } # 1 ~ 100の範囲内かどうか

チェックされているかどうか

これは「利用規約に同意」とかで結構使いそうな感じ。これには「acceptance」を使用。


validates :column, acceptance: true # チェックがついていればOK

他にも色々あるけれど、所感としてよく使うのは上に挙げたものかな。

上記に挙げたもの以外のバリデーションについては 実際にRailsで簡単なアプリケーションをつくっていく中で追々書いていきたい。

Written by Nisei Kimura ( 木村 仁星 )

- Sponsored Links -

<<

Top

>>