概要
主なバリデーションルールを整理する。網羅的な内容はドキュメントを参照。
存在・唯一性
required
パラメーターが入力されているか。
required
unique
データベースの指定フィールド内で唯一か。
unique
サイズ
size/min/max/between
フィールドの種類に応じて、特定値、最小値・最大値、値の範囲を検証。
size:サイズ
min:最小サイズ
max:最大サイズ
between:最小サイズ,最大サイズ
サイズはフィールドの種類によって解釈。
- 文字列の場合は文字数
- 数値の場合は整数値
- ファイルの場合はキロバイト単位のファイルサイズ
正規表現
regex
入力が正規表現パターンに一致するかどうか。
regex:/正規表現/
数値形式
integer/numeric
入力が整数か/数値か
digits/digits_between
桁数が合致しているか/範囲内か。
digits:桁数
digits_between:最小桁数,最大桁数
文字列形式
string
入力が文字列かどうか。
string
email/url/active_url/ip
e-mailアドレス形式、URL形式か/有効なURLか、IPアドレス形式か。
email
url
active_url
ip
json
JSON文字列か。
json
timezone
タイムゾーンの文字列か。
timezone
日付
date
日付かどうか。日付の存在チェックも行う。たとえば2020/2/29は妥当だが、2021/2/29はエラーとなる。
date
date_format
指定した日付・時刻フォーマットか(YYYY/MM/dd
、H:i
など)。
date:日付・時刻フォーマット
before/after
指定した日付より前か/後か。現在を基準にする場合はnow
。
before:now
after:2020-3-31
before_or_equal/after_or_equal
指定した日付以前か/以後か。
before_or_equal:now
after_or_equal:2020-3-31
ファイル確認
file/image
ファイルかどうか。
file
画像ファイル(jpg,png,bmp,gif,svg)かどうか。
image
mimes
指定した拡張子か。
mimes:拡張子,拡張子,...
dimensions
画像パラメーターが指定した値か。
dimensions:属性=値,属性=値,...
属性の種類はmin_width
、max_width
、min_height
、width
、height
、ratio
。