То есть напрямую изменить одно поле в массиве входящих данных?
есть решение в какой нибудь сервис провайдер запихнуть макрос ибо реквест у нас macroable, аля
Illuminate\Http\Request::macro(
'mergeGently', function($array){
// где делаем магию аля проверки и прочее.
});
после чего будет работать $request->mergeGently($array);
Как его туда прокинуть?
app/Exceptions/Handler.php
public function register()
{
$this->renderable(function (ValidationException $exception) {
return redirect($exception->redirectTo ?? url()->previous())
->withInput(Arr::except($exception->validator->getData(), $this->dontFlash))
->withErrors($exception->errors(), $exception->errorBag);
});
}
В принципе после этой правки все эксепшены с валидацией будут содержать ваши merge из prepareForValidation и не надо дублировать merge. Но стоит проверить как это будет реагировать на json запросы. мне лень
З.Ы. Чего то сообразил - можно же легче - просто переопределить метод invalid у app/Exceptions/Handler.php