laravel中使用FormRequest進行表單驗證,驗證異常返回Json


通常在項目中,我們會對大量的前端提交過來的數據進行驗證,如果不通過,返回錯誤信息。

前端為了更好的體驗,都使用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,不要弄混


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM