0

カスタムメッセージを返すリクエストクラスに次のコードがあります。Laravel 5.5では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に

を働いているように思えるんでしたか?あなたが読むことができるUpgrade guide

答えて

1

:Laravel 5.5で

を、検証例外を含むすべての例外は、例外ハンドラによってHTTP応答に変換 です。さらに、 のJSON検証エラーのデフォルト形式が変更されました。

protected function invalidJson($request, ValidationException $exception) 
{ 
    return response()->json([ 
     'message' => 'Validation failed', 
     'errors' => $exception->errors(), 
    ], $exception->status); 
} 

明らかにあなたは、このメソッドの詳細を調整する場合がありますので、何をやるべきことはapp\Exceptions\Handler.phpファイルに次のメソッドを追加している...

を:新しい 形式は、次の規則に準拠します以前のLaravelのバージョンではデフォルトでこれが次のようになっていたからです:

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

特に例外のカスタムメッセージを返すことは可能でしょうか? stクラス? – Pankaj

+0

個別のRequestクラスで 'failedValidation'メソッドをオーバーライドする必要があります –

関連する問題