値が配列・範囲に含まれていないかバリデーション
適応バージョン
- 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.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.2.1
- 7.0.0
説明
値が配列・範囲に含まれていないかバリデーション
使い方
validates_exclusion_of(フィールド名..)
オプション
オプション | 説明 | 初期値 |
---|---|---|
:in | 比較対象の配列、または範囲オブジェクト | |
:within | 比較対象の配列、または範囲オブジェクトの範囲 | |
:message | 失敗したときに表示するメッセージ | must be accepted |
:on | 実行するタイミング | 保存時 |
:allow_nil | nilをスキップ | false |
:allow_blank | nilや空文字をスキップ | false |
:if | バリデーションする条件を指定 | |
:unless | バリデーションしない条件を指定 | |
:strict | 失敗した場合に例外を発生 |
例
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