通常在項目中,我們會對大量的前端提交過來的數據進行驗證,如果不通過,返回錯誤信息。
前端為了更好的體驗,都使用ajax進行提交,雖然validate方法能夠根據前端不同的請求方式,返回不同的結果。
但是返回的json格式並不是我們想要的,這個時候就要自定義返回錯誤結果。
php artisan make:request TestRequest
該類繼承 FormRequest類
父類FormRequest中的failedValidation()方法用來處理驗證失敗,我們需要重寫父類方法,實現自己得返回。
public function failedValidation(Validation $validator) { throw (new HttpResponseException(response->json([ 'status_code' => '500', 'message' => '請求錯誤', 'data' => $validator->errors()->first(), ],200))); }
注意,failedValidation方法中的$validator 參數是 Illuminate\Contracts\Validation\Validator對象,不是Illuminate\Validation\Validator,不要弄混