検証(validation)

属性の値が一意であることを検証(validates_uniqueness_of)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

属性の値が一意であることを検証

使い方

validates_uniqueness_of(検証するフィールド名 [, オプション])

オプション

オプション説明デフォルト
:message検証が失敗したときに表示するメッセージ
:scope一意性制約を決めるために使用する他のカラム
:conditions検索条件を指定
:case_sensitive大文字と小文字を区別するかtrue
:allow_niltrueならば、nilの検証はスキップfalse
:allow_blanktrueならば、空の検証はスキップfalse
:if検証する条件を指定
:unless検証しない条件を指定

class User < ActiveRecord::Base
  validates_uniqueness_of :user_name, :scope => :account_id
end

ソースコード

ソースコード検索

関連付けられているオブジェクトを検証(validates_associated)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

関連付けられているオブジェクトを検証

使い方

validates_associated(検証対象 [, ...])

オプション

オプション 説明
:message検証が失敗したときに表示するメッセージ
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定

class Book < ActiveRecord::Base
  has_many :pages
  belongs_to :library
  validates_associated :pages, :library
end

ソースコード

ソースコード検索

実行前にリクエストの検証(verify)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

アクションの実行前にチェックを行う

使い方

verify オプション

オプション

オプション説明
:paramsパラメータがあるかどうか
:sessionセッションにキーがあるかどうか
:flashフラッシュの中に指摘したキーのデータあるかどうか
:methodHTTPのメソッドが指定したものかどうか
:xhrアクションがAjaxから呼ばれたかどうか
:add_flashフラッシュにデータを追加
:add_headersHTTPのヘッダに「カラム名:値」を追加
:redirect_to別のアクションにリダイレクト
:render別のアクションのテンプレートでレンダリング
:only適用するアクション
:except適応しないアクション

セッションにuser_idがない場合は、indexにリダイレクト
verify :session => "user_id", :redirect_to { :action => "index" }
POSTでアクセスしていない場合は、indexにリダイレクト
verify :method => :post, :redirect_to { :action => "index" }
create, update, deleteアクション以外は、indexにリダイレクト
verify :only => [:create, :update, :delete], :redirect_to { :action => "index" }

チェックボックスのチェックが入っているか(acceptance)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

チェックボックスのチェックが入っているか

使い方

validates(検証するフィールド名, :acceptance => 検証パラメータ)

オプション

オプション説明
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

validates :terms, acceptance: true

ソースコード検索

2つのフィールドが等しいか(confirmation)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

2つのフィールドが等しいか

使い方

validates(検証するフィールド名, :confirmation => 検証パラメータ)

オプション

オプション説明
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

validates :password, confirmation: true

ソースコード検索

値が配列・範囲に含まれていないか(exclusion)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

値が配列に含まれていないか

使い方

validates(検証するフィールド名, :exclusion => 検証パラメータ)

オプション

オプション説明
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

validates :username, exclusion: { in: %w(admin superuser) }

ソースコード検索

値が配列・範囲に含まれているか(inclusion)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

値が配列・範囲に含まれているか

使い方

validates(検証するフィールド名, :inclusion => 検証パラメータ)

オプション

オプション説明
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

validates :age, inclusion: { in: 0..9 }

ソースコード検索

正規表現パターンに一致しているか(format)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

正規表現パターンに一致しているか

使い方

validates(検証するフィールド名, :format => 検証パラメータ)

オプション

オプション説明
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

validates :email, format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, on: :create }

ソースコード検索

文字列の長さをチェック(length)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

文字列の長さをチェック

使い方

validates(検証するフィールド名, :length => 検証パラメータ)

オプション

オプション説明
:minimun最小の文字列長
:maximun最大の文字列長
:in文字列長の範囲(range型)
:tokenizer文字列の分割方法
:is文字列長
:too_long:maximunパラメータに違反した時のエラーメッセージ
:too_short:minimunパラメータに違反した時のエラーメッセージ
:wrong_length:isパラメータに違反した時のエラーメッセージ

validates :first_name, length: { maximum: 30 }

ソースコード検索

数値の大小、型をチェック(numericality)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

チェックボックスのチェックが入っているか

使い方

validates(検証するフィールド名, :numericality => 検証パラメータ)

オプション

オプション説明
:only_integer整数であるかを検証
:greater_than指定値より大きいか
:greater_than_or_equal_to指定値以上か
:equal_to指定値と等しいか
:less_than指定値未満か
:less_than_or_equal_to指定値以下か
:odd奇数か
:even偶数か

validates :age, numericality: true

ソースコード検索

値が空でないか(presence)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

チェックボックスのチェックが入っているか

使い方

validates(検証するフィールド名, :presence => 検証パラメータ)

オプション

オプション説明
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

validates :username, presence: true

ソースコード検索

値が一意であるか(uniqueness)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

値が一意であるか

使い方

validates(検証するフィールド名, :uniqueness => 検証パラメータ)

オプション

オプション説明初期値
:scope一意性制約を決めるために使用する他のカラム
:case_sensitive大文字と小文字を区別するかtrue

validates :username, uniqueness: true

ソースコード検索

値が空でないか(validates_presence_of)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

値が空でないかを検証

使い方

validates_presence_of(検証対象 [, ...])

オプション

オプション説明
:message検証が失敗したときに表示するメッセージ
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

ソースコード

ソースコード検索

モデルの検証を定義(validate)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

モデルの検証を定義する

使い方

validate 検証メソッド名 [, ...]

オプション

オプション説明デフォルト
:on保存されるタイミングを設定
:allow_niltrueならば、nilの検証はスキップfalse
:allow_blanktrueならば、空の検証はスキップfalse
:if検証する条件を指定
:unless検証しない条件を指定

class Comment
  include ActiveModel::Validations

  validate :must_be_friends

  def must_be_friends
    errors.add(:base, 'Must be friends to leave a comment') unless commenter.friend_of?(commentee)
  end
end
class Comment
  include ActiveModel::Validations

  validate do |comment|
    comment.must_be_friends
  end

  def must_be_friends
    errors.add(:base, 'Must be friends to leave a comment') unless commenter.friend_of?(commentee)
  end
end

ソースコード検索

空白であることを検証(validates_absence_of)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

空白であることを検証する

使い方

validates_absence_of(検証するフィールド名 [, ...])

オプション

オプション説明初期値
:message検証が失敗したときに表示するメッセージmust be accepted

class Person < ActiveRecord::Base
  validates_acceptance_of :terms_of_service
  validates_acceptance_of :eula, message: 'must be abided'
end

ソースコード

ソースコード検索

チェックボックスにチェックが入っているか検証(validates_acceptance_of)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

チェックボックスにチェックが入っているか検証する

使い方

validates_acceptance_of(検証するフィールド名 [, ...])

オプション

オプション説明初期値
:message検証が失敗したときに表示するメッセージmust be accepted
:allow_niltrueならば、nilの検証はスキップfalse
:acceptフォームで受付可能なMIMEタイプ1
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

class Person < ActiveRecord::Base
  validates_acceptance_of :terms_of_service
  validates_acceptance_of :eula, message: 'must be abided'
end

ソースコード

ソースコード検索

2つのフィールドが等しいか検証(validates_confirmation_of)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

2つのフィールドが等しいか検証する

使い方

validates_confirmation_of(検証するフィールド名 [, ...])

オプション

オプション説明初期値
:message検証が失敗したときに表示するメッセージmust be accepted
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

Model:
  class Person < ActiveRecord::Base
    validates_confirmation_of :user_name, :password
    validates_confirmation_of :email_address,
                              message: 'should match confirmation'
  end

View:
  <%= password_field "person", "password" %>
  <%= password_field "person", "password_confirmation" %>

ソースコード

ソースコード検索

値が配列・範囲に含まれていないか検証(validates_exclusion_of)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

値が配列・範囲に含まれていないか検証する

使い方

validates_exclusion_of(検証するフィールド名 [, ...])

オプション

オプション説明初期値
:in比較対象の配列、または範囲オブジェクト
:within比較対象の配列、または範囲オブジェクトの範囲
:message検証が失敗したときに表示するメッセージmust be accepted
:allow_niltrueならば、nilの検証はスキップfalse
:allow_blanktrueならば、空の検証はスキップfalse
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

class Person < ActiveRecord::Base
  validates_exclusion_of :username, in: %w( admin superuser ), message: "You don't belong here"
  validates_exclusion_of :age, in: 30..60, message: 'This site is only for under 30 and over 60'
  validates_exclusion_of :format, in: %w( mov avi ), message: "extension %{value} is not allowed"
  validates_exclusion_of :password, in: ->(person) { [person.username, person.first_name] },
                         message: 'should not be the same as your username or first name'
  validates_exclusion_of :karma, in: :reserved_karmas
end

ソースコード

ソースコード検索

正規表現パターンに一致しているか検証(validates_format_of)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

正規表現パターンに一致しているか検証する

使い方

validates_format_of(検証するフィールド名 [, ...])

オプション

オプション説明初期値
:message検証が失敗したときに表示するメッセージmust be accepted
:allow_niltrueならば、nilの検証はスキップfalse
:allow_blanktrueならば、空の検証はスキップfalse
:with正規表現パターン
:without正規表現パターン
:multiline行の先頭または、末尾
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

class Person < ActiveRecord::Base
  validates_format_of :email, with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/, on: :create
end

ソースコード

ソースコード検索

値が配列・範囲に含まれているか検証(validates_inclusion_of)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

値が配列・範囲に含まれているか検証する

使い方

validates_inclusion_of(検証するフィールド名 [, ...])

オプション

オプション説明初期値
:in文字列長の範囲(range型)
:within比較対象の配列、または範囲オブジェクトの範囲
:message検証が失敗したときに表示するメッセージmust be accepted
:allow_niltrueならば、nilの検証はスキップfalse
:allow_blanktrueならば、空の検証はスキップfalse
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

class Person < ActiveRecord::Base
  validates_inclusion_of :gender, in: %w( m f )
  validates_inclusion_of :age, in: 0..99
  validates_inclusion_of :format, in: %w( jpg gif png ), message: "extension %{value} is not included in the list"
  validates_inclusion_of :states, in: ->(person) { STATES[person.country] }
  validates_inclusion_of :karma, in: :available_karmas
end

ソースコード

ソースコード検索

文字列の長さをチェック(validates_length_of)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

文字列の長さをチェックする

使い方

validates_length_of(検証するフィールド名 [, ...])

オプション

オプション説明
:minimum最小の文字列長
:maximum最大の文字列長
:is長さが同じこと
:within文字列長の範囲
:in文字列長の範囲
:allow_niltrueならば、nilの検証はスキップ
:allow_blanktrueならば、空の検証はスキップ
:too_long:maximumに違反したときの、エラーメッセージ
:too_short:minimumに違反したときの、エラーメッセージ
:wrong_length:isに違反したときの、エラーメッセージ
:message検証が失敗したときに表示するメッセージ
:tokenizer文字列の分割方法

class Person < ActiveRecord::Base
  validates_length_of :first_name, maximum: 30
  validates_length_of :last_name, maximum: 30, message: "less than 30 if you don't mind"
  validates_length_of :fax, in: 7..32, allow_nil: true
  validates_length_of :phone, in: 7..32, allow_blank: true
  validates_length_of :user_name, within: 6..20, too_long: 'pick a shorter name', too_short: 'pick a longer name'
  validates_length_of :zip_code, minimum: 5, too_short: 'please enter at least 5 characters'
  validates_length_of :smurf_leader, is: 4, message: "papa is spelled with 4 characters... don't play me."
  validates_length_of :essay, minimum: 100, too_short: 'Your essay must be at least 100 words.',
                      tokenizer: ->(str) { str.scan(/\w+/) }
end

ソースコード

ソースコード検索

数値の大小、型をチェック(validates_numericality_of)

適応バージョン

  • 1.0.0
  • 1.1.0
  • 1.1.1
  • 1.1.6
  • 1.2.0
  • 1.2.6
  • 2.0.0
  • 2.0.1
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.2
  • 2.3.8
  • 3.0.0
  • 3.0.5
  • 3.0.7
  • 3.0.9
  • 3.1.0
  • 3.2.3
  • 3.2.8
  • 3.2.13
  • 4.0.0
  • 4.1.0
  • 4.2.1

説明

数値の大小、型をチェックする

使い方

validates_numericality_of(検証するフィールド名 [, ...])

オプション

オプション説明
:message検証が失敗したときに表示するメッセージ
:only_integer整数であるかを検証
:allow_niltrueならば、nilの検証はスキップ
:greater_than指定値より大きいか
:greater_than_or_equal_to指定値以上か
:equal_to指定値と等しいか
:less_than指定値未満か
:less_than_or_equal_to指定値以下か
:odd奇数か
:even偶数か
:on保存されるタイミングを設定
:if検証する条件を指定
:unless検証しない条件を指定
:strict保護された属性を更新するときにActiveModel::MassAssignmentSecurity::Error

class Person < ActiveRecord::Base
  validates_numericality_of :value, on: :create
end

ソースコード

ソースコード検索