当我有ValidationException时,我想修改“错误”字段。问题是当我有ValidationException时,响应变量的字段异常使我为空。
句柄功能的一部分
dd($response);
if(isset($response->exception) && $response->exception instanceof validationException){
$data = $response->getData();
$transformedErros = array();
foreach ($data->error as $field => $value) {
$transformedField = $transformer::transformedAttribute($field);
$transformedErros[$transformedField] = str_replace($field, $transformedField, $value);
}
$data->error = $transformedErros;
$response->setData($data);
}
答案 0 :(得分:0)
可能是因为异常处理程序已经处理了异常。
无论如何。错误处理不应位于中间件中,而应位于异常处理程序中。您可以使用以下代码在bootstrap/app.php
中注册自己的异常处理程序:
$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,
App\Exceptions\Handler::class
);
让App\Exceptions\Handler
扩展\Laravel\Lumen\Exceptions\Handler
并覆盖您需要更改的内容。
看看https://laravel.com/docs/5.8/errors#the-exception-handler,以了解有关异常处理程序的更多信息。