Laravel 5 格式错误在Laravel 5.5中不再有效吗?

Laravel 5 格式错误在Laravel 5.5中不再有效吗?,laravel-5,laravel-5.5,laravel-validation,laravel-response,Laravel 5,Laravel 5.5,Laravel Validation,Laravel Response,我的请求类中有以下返回自定义消息的代码 public function formatErrors(\Illuminate\Contracts\Validation\Validator $validator) { if($validator->fails()) { $validator->errors()->add('Message', "Validation failed"); } return parent::formatErrors(

我的请求类中有以下返回自定义消息的代码

public function formatErrors(\Illuminate\Contracts\Validation\Validator $validator) {
    if($validator->fails()) {
        $validator->errors()->add('Message', "Validation failed");
    }
    return parent::formatErrors($validator);
}
它在Laravel 5.4中返回了错误消息,但在Laravel 5.5中该函数似乎不再起作用

有人在Laravel 5.5中遇到过这个问题吗?

在中,您可以阅读:

在Laravel 5.5中,所有异常(包括验证异常)都是 由异常处理程序转换为HTTP响应。此外 JSON验证错误的默认格式已更改。新的 格式符合以下约定:

因此,您应该向
app\Exceptions\Handler.php
文件添加以下方法:

protected function invalidJson($request, ValidationException $exception)
{
    return response()->json([
        'message' => 'Validation failed',
        'errors' => $exception->errors(),
    ], $exception->status);
} 
显然,您可能希望进一步调整此方法,因为在以前的Laravel版本中,默认情况下是这样的:

return response()->json($exception->errors(), $exception->status);

可以在特定请求类中返回验证异常自定义消息吗?应该可以重写单个请求类中的
failedValidation
方法