3 回答

TA貢獻1804條經驗 獲得超7個贊
我也遇到了同樣的問題。如果您的驗證代碼在 try 塊中,您將收到“給定的數據無效”錯誤。從 try 塊中刪除它,您將獲得 Laravel 給出的正確錯誤響應。

TA貢獻1856條經驗 獲得超11個贊
驗證器拋出一個Illuminate\Validation\ValidationException你可以App\Exceptions\Handler->render()在它被發送到供應商的父類之前攔截的。
if ($exception instanceof ValidationException) {
//choose the structure you want. the Validation exception has many methods
return response()->json(['status' => 'error', 'message' => $exception->getMessage()], 422);
}
編輯:為了攔截表單請求本身的錯誤,聲明以下方法:
public function failedValidation(\Illuminate\Contracts\Validation\Validator $validator)
{
throw (new \Illuminate\Validation\ValidationException($validator))
->errorBag($this->errorBag)
->redirectTo($this->getRedirectUrl());
}
- 3 回答
- 0 關注
- 156 瀏覽
添加回答
舉報