Laravelのバリデーションルールは、実務でもフォームの入力検証で必ず使われます。 この記事では、Laravel 12に対応したバリデーションルールの一覧を、実務で使いやすいようにまとめました。
基本の使い方
$request->validate([
'email' => ['required', 'email'],
'password' => ['required', 'min:8'],
]);
基本的なルール
ルール | 意味 |
---|
required | 必須項目 |
nullable | null可能 |
string | 文字列型 |
integer | 整数 |
numeric | 数値(完全な整数でなくても良い) |
boolean | true/false |
array | 配列 |
json | JSON形式 |
文字列の検証
ルール | 意味 |
---|
email | メールアドレス形式に一致 |
url | URL形式に一致 |
alpha | 英字のみ |
alpha_num | 英数字のみ |
min:x | x文字以上 |
max:x | x文字以下 |
between:min,max | 最小と最大の間 |
size:x | x文字ちょうど |
数値の検証
ルール | 意味 |
---|
min:x | x以上 |
max:x | x以下 |
between:min,max | 最小と最大の間 |
digits:x | x桁の数値 |
digits_between:min,max | x~y桁の数値 |
デートの検証
ルール | 意味 |
---|
date | 日付形式に一致 |
before:date | 指定日付より前 |
after:date | 指定日付より後 |
before_or_equal:date | 指定日付まで |
after_or_equal:date | 指定日付以降 |
配列の検証
ルール | 意味 |
---|
array | 配列型かどうか |
distinct | 値が重複していないか |
in:foo,bar | 指定値のいずれか |
not_in:foo,bar | 指定値以外 |
size:x | アレイの要素数x個 |
ファイルの検証
ルール | 意味 |
---|
file | ファイルかどうか |
image | 画像ファイルかどうか |
mimes:jpg,png | ファイル拡張子を指定 |
mimetypes:text/plain | MIMEタイプを指定 |
max:x | ファイルサイズの最大値(KB) |
特殊なルール
ルール | 意味 |
---|
confirmed | foo_confirmationと一致必須 |
different:field | 指定項目と異なる値であること |
same:field | 指定項目と同じ値であること |
regex:/pattern/ | 正規表現で検証 |
注意点・ベストプラクティス
- ルール順に意味がある
required|string|min:8
など、意図的な順番で書くと読みやすい
- ケースによってはRequestクラス化も正当
- カスタムメッセージも添えるとより完成度高い
まとめ
Laravelのバリデーションルールは、単に対役を記憶するだけでなく、正しい使い方を理解することが重要です。
実践で使いながら、自分のチートシートを作っていくと、より実用性の高いコードが書けるようになりますよ!
※この記事はLaravel 12に基づいていますが、Laravel 10/11でも基本的に使用可能です。
コメント