プログラミング学習記録#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:テーブル,カラム  // 指定したテーブルのカラムに存在しないか


この記事が気に入ったらサポートをしてみませんか?