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.5

에서 작업처럼 그것은 Laravel 5.4에서 오류 메시지를 반환 없지만 보인다되었다

사람이 Laravel 5.5에서이 문제에 직면 했습니까?

답변

1

Upgrade guide에서 당신은 읽을 수

은 검증 예외를 포함 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); 
+0

특히 예외 요청의 유효성 검사 예외 사용자 지정 메시지를 반환 할 수 있습니까? 세인트 클래스? – Pankaj

+0

개별 Request 클래스에서'failedValidation' 메소드를 오버라이드 할 수 있어야합니다. –