プログラミング学習記録#19 Laravel バリデーション
validateメソッド
全てのHTTPリクエストで使用できるメソッド
●使用方法
・コントローラー内のメソッドの引数にRequestオブジェクトをとる
public function store(Request $request)
{
$validated = $request->validate([
'name' => 'required',
'email' => 'required|unique:users',
]);
}
書き方は2パターン
①バリデーションルールを「 | 」でつなぐ書き方
②バリデーションルールを配列で指定する書き方
①$validated = $request->validate([
formで設定したname => ルール1|ルール2,
]);
②$validated = $request->validate([
'name' => [ルール1, ルール2],
]);
エラーメッセージ
バリデーションでリクエストが通らなかった場合、直前の場所へ自動的にリダイレクトする。
バリデーションエラーとリクエスト入力は自動的にセッションに一時保持保存される。
ブレード内でエラーメッセージを表示させるには以下をブレード内に記述する
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
主なバリデーションルール
confirmed // フィールドが、{field}_confirmationフィールドと一致しているか
required // 値が入っているか
date_format:フォーマット // 入力値がフォーマットと一致するか
email // メールアドレスの形式が入力されているか
image // 画像かどうか
max:値 // 値のサイズを判定、指定した値以下かどうか
min:値 // 値のサイズを判定、指定した値以上かどうか
nullable // フィールドがnullであることを許容
string // 文字列か判定
unique:テーブル,カラム // 指定したテーブルのカラムに存在しないか
この記事が気に入ったらサポートをしてみませんか?