Laravelでフォームリクエスト配列に値を追加する方法


フォームリクエストの配列に値を追加するには、次の手順に従います。

  1. フォームリクエストクラスを作成します。Laravelのコマンドラインツールを使用して、以下のコマンドを実行します:

    php artisan make:request MyFormRequest

    これにより、app/Http/RequestsディレクトリにMyFormRequest.phpファイルが作成されます。

  2. MyFormRequestクラスのrulesメソッド内で、バリデーションルールを定義します。例えば、次のようになります:

    public function rules()
    {
       return [
           'name' => 'required|string',
           'email' => 'required|email',
       ];
    }
  3. MyFormRequestクラスのprepareForValidationメソッドをオーバーライドします。このメソッド内で、フォームリクエスト配列に値を追加します。例えば、次のようになります:

    protected function prepareForValidation()
    {
       $this->merge([
           'additional_field' => 'additional_value',
       ]);
    }

    上記の例では、additional_fieldという名前の新しいフィールドをフォームリクエストに追加しています。

  4. コントローラー内で、フォームリクエストを使用してリクエストをバリデーションします。例えば、次のようになります:

    public function store(MyFormRequest $request)
    {
       // バリデーションが成功した場合の処理
    }

    バリデーションが成功すると、フォームリクエスト内で定義した追加のフィールドがリクエストデータに含まれます。

これで、Laravelでフォームリクエスト配列に値を追加する方法がわかりました。上記の手順に従ってコードを実装してみてください。