こんにちは!前回はLaravelで認証と認可を実装する方法についてご紹介しました。今回は、Laravelでフォームバリデーションを実装する方法について解説します。
Laravelは、ユーザーからの入力を検証するための強力なバリデーションルールを提供しています。これにより、フォームから送信されるデータがアプリケーションの要件を満たしていることを確認することができます。
バリデーションルールの設定
バリデーションルールは、コントローラのメソッド内でvalidate
メソッドを使用して設定します。以下に例を示します。
public function store(Request $request)
{
$validatedData = $request->validate([
'title' => 'required|max:255',
'body' => 'required',
]);
// バリデーションが通った後の処理
}
この例では、title
フィールドは必須であり、最大255文字であることを要求しています。また、body
フィールドは必須であることを要求しています。
エラーメッセージの表示
バリデーションエラーが発生すると、エラーメッセージが自動的にセッションにフラッシュされます。これらのエラーメッセージは、ビューで$errors
変数を使用して表示することができます。
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
フォームリクエスト
複雑なバリデーションルールや複数のアクションで同じバリデーションルールを使用する場合、フォームリクエストを使用すると便利です。フォームリクエストはphp artisan make:request
コマンドで生成します。
$ php artisan make:request StorePostRequest
最後に
以上で、Laravelでフォームバリデーションを実装する基本的な方法をご紹介しました。次回は、LaravelでAPIを作成する方法について解説します。お楽しみに!