Для добавления данных в 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()
. Вы также можете использовать эти данные для валидации или выполнения других действий, как вам удобно.