Laravelでよく使うバリデーションルールをメモしました。
めっちゃ使う
-
required
必須チェック -
numeric
数値であるか -
integer
整数であるか -
max:値
文字列の場合は、文字数になるし、数値の場合は数値になるという賢いやつ!! -
min:値
文字列の場合は、文字数になるし、数値の場合は数値になるという賢いやつ!! -
between:min,max
フィールドが指定された最小値と最大値の間のサイズであることをバリデートします。
めっちゃ使うとかいいながら、存在を忘れていた。
-
email
メールアドレスの形式であるか -
confirmed
パスワード(確認用)、メールアドレス(確認用)でよく使う
フィールドがそのフィールド名+_confirmationフィールドと同じ値であることをバリデートします。
ということなので、htmlのname属性に注意!
日付関連
-
date
日付の形式であるか -
after:日付
対象日より後の日付であるか
日付はPHPの
strtotime
関数で処理されます。
strtotime
により評価される日付文字列を渡す代わりに、その日付と比較する他のフィールドを指定することもできます。
-
after_or_equal:日付
対象日以降の日付であるか -
before:日付
対象日より前の日付であるか -
before_or_equal:日付
対象日以前の日付であるか -
date_equals:日付
バリデーションされる値が、指定した日付と同じことをバリデートします。
いまさら気づいた
今後、使おう。
-
nullable
nullも許可するよ。
よくある場面は、メールアドレスが任意入力だけど、確認用メールアドレスと一致しているかチェックするときとか -
alpha
フィールドが全部アルファベット文字であることをバリデートします。
- alpha_dash
フィールドが全部アルファベット文字と数字、ダッシュ(-)、下線(_)であることをバリデートします。
- alpha_num
フィールドが全部アルファベット文字と数字であることをバリデートします。
メールアドレスのバリデーションサンプル
confirmed
、email
、nullable
を使ってみる。
- メールアドレスは任意入力
- メールアドレスが入力されている場合は、確認用メールアドレスと一致している必要がある
public function rules()
{
return [
'email' => 'confirmed|email|nullable',
];
}