Как добавить данные в FormRequest?

Для добавления данных в FormRequest в Laravel существует несколько способов. Одним из самых простых и распространенных способов является использование метода setData внутри класса FormRequest.

Первым шагом необходимо создать класс FormRequest с помощью команды php artisan make:request, либо создать его вручную в директории app/Http/Requests. Внутри этого класса есть метод authorize, в котором определяется, имеет ли пользователь право на доступ к данной форме, и метод rules, в котором определяются правила валидации полей формы.

Чтобы добавить данные в FormRequest, нужно переопределить метод all и вызвать метод setData, передавая в него массив данных, которые вы хотите добавить. Например:

use IlluminateFoundationHttpFormRequest;

class MyFormRequest extends FormRequest
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'name' => 'required',
            'email' => 'required|email',
            'password' => 'required|min:8',
        ];
    }

    public function all()
    {
        $data = parent::all();

        // Добавление дополнительных данных
        $data['additional_field'] = 'Additional Value';

        $this->setData($data);

        return $data;
    }
}

В этом примере мы добавили дополнительное поле additional_field со значением 'Additional Value' в массив данных формы.

После добавления данных в FormRequest, вы можете получить к ним доступ в контроллере, который использует этот FormRequest, вызвав метод $request->input('additional_field') или $request->all(). Вы также можете использовать эти данные для валидации или выполнения других действий, как вам удобно.