Railsドキュメント

ブロックに対してのバリデーション

適応バージョン

説明

ブロックに対してのバリデーション

使い方

validates_each(キー名.., ブロック引数)

オプション

オプション 説明
:on 実行するタイミング
:allow_nil nilをスキップ
:allow_blank nilや空文字をスキップ
:if バリデーションする条件
:unless バリデーションしない条件

validates_each :first_name, :last_name, allow_blank: true do |record, attr, value|
  record.errors.add attr, 'starts with z.' if value.to_s[0] == ?z
end

ソースコード