validation一覧

validation一覧です。Rails3より、

validates_presence_of :title

というような記述が、

validates :title, :presence => true

という方式に変わりました。

validationの一覧

チェックしたか
  • :acceptance => ture
確認入力
  • :confirmation => true
範囲に入っていないか
  • :exclusion => { :in => %w(admin superuser) }
範囲内か
  • :inclusion => { :in => 0..9 }
フォーマットが正しいか
  • :format => { :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create }

正規表現で設定します

<オプション>

  • with

指定した正規表現にマッチする

  • :without

指定した正規表現にマッチしない

長さのチェック
  • :length => { :maximum => 30 }
数値のチェック
  • :numericality => true

<オプション>

  • :only_integer

integerのみ

  • :greater_than

設定数よりも大きい

  • :greater_than_or_equal_to

設定数以上

  • equal_to

設定数と同じ

  • less_than

設定数よりも小さい

  • less_than_or_equal_to

設定数以下

  • odd

奇数

  • even

偶数

入力があるか
  • :presence => true
重複がないか
  • :uniqueness => true

<共通のオプション>

  • :on

validateのチェックをするコンテキストを明示的に設定(デフォルトはsave)

  • :allow_nil

nilの場合はvalidateのチェックをしない

  • :allow_blank

blankの場合はvalidateのチェックをしない

  • :if

例えば、
validates :password, :presence => { :if => :password_required? }, :confirmation => true
のように使用する

  • :unless

ifの逆