こんにちは!前回は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を作成する方法について解説します。お楽しみに!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です