Я обрабатываю форму, в которой пользователь может обновить дату своего рождения. Форма дает пользователю 3 отдельных поля для day
, month
и year
. Конечно, на стороне сервера я хочу рассматривать эти 3 отдельных поля как одно значение, т.е. yyyy-mm-dd
.
Поэтому перед проверкой и обновлением моей базы данных я хочу изменить запрос формы для создания поля date_of_birth
путем объединения year
, month
и day
с символами -
для создания формата даты, который мне нужен (И, возможно, отключить исходные 3 поля).
Достижение этого вручную с помощью моего контроллера не является проблемой. Я могу просто захватить входные данные, соединить поля, разделенные символами -
, и отключить их. Затем я могу выполнить проверку вручную, прежде чем перейти к команде для обработки обработки.
Тем не менее, я бы предпочел использовать FormRequest
для проверки валидации и внести это в мой метод контроллера. Поэтому мне нужен способ фактического изменения запроса формы до выполнения проверки.
Я нашел следующий вопрос, похожий: Laravel 5 Запрос - изменение данных
Он предлагает переопределить метод all
в запросе формы, чтобы содержать логику для управления данными до проверки.
<?php namespace App\Http\Requests;
class UpdateSettingsRequest extends Request {
public function authorize()
{
return true;
}
public function rules()
{
return [];
}
public function all()
{
$data = parent::all();
$data['date_of_birth'] = 'test';
return $data;
}
Это хорошо и полезно для проверки, но переопределение метода all
фактически не изменяет данные в объекте запроса формы. Поэтому, когда дело доходит до выполнения команды, запрос формы содержит исходные немодифицированные данные. Если я не использую теперь переопределенный метод all
, чтобы вытащить данные.
Я ищу более конкретный способ изменения данных в моем запросе формы, который не требует вызова определенного метода.
Приветствия