解决laravel在ajax请求时表达单验证失败返回全部错误的问题
修改app\Exceptions\Handler.php中render函数,修改错误输出
public function render($request, Throwable $exception)
{
if ($exception instanceof ValidationException) {
// 只读取错误中的第一个错误信息
$errors = $exception->errors();
$message = '';
// 框架返回的是二维数组,因此需要去循环读取第一个数据
foreach ($errors as $key => $val) {
$keys = array_key_first($val);
$message = $val[$keys];
break;
}
return response()->json(['code' => 422, 'msg' => $message, 'data' => null]);
}
return parent::render($request, $exception);
}