Предварительная обработка данных запроса формы Laravel 5
Я обрабатываю форму, где пользователь может обновить свою дату рождения. Форма дает пользователю 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
способ вытащить данные.
Я ищу более конкретный способ изменения данных в моем запросе формы, который не требует вызова определенного метода.
ура