Предварительная обработка данных запроса формы 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 способ вытащить данные.

Я ищу более конкретный способ изменения данных в моем запросе формы, который не требует вызова определенного метода.

ура

Ответы на вопрос(7)

Ваш ответ на вопрос