我正在使用Laravel 5.4。我有一個自定義表單請求類在那裏我有我的驗證規則和信息,我用它在我的控制器類似如下:使用自定義窗體請求類時檢查是否有任何驗證錯誤
public function store(CustomFormRequest $request)
{
//
}
我使用AJAX來發送請求,當有任何驗證錯誤,Laravel拋出帶有422狀態碼的HTTP響應的錯誤,包括驗證錯誤的JSON表示。
但我不想那樣。相反,我的控制器的方法裏面,我想看看是否有任何驗證錯誤,如果有任何話,我想返回與驗證消息一起其他一些數據的響應,這樣的:
// Inside my Controller
public function store(CustomFormRequest $request)
{
if ($validator->fails())
{
$errors = $validator->errors();
return response()->json(array('status' => 2, 'msg' => $errors->all()));
}
}
能否請你幫忙 ? 在此先感謝。
它的工作!非常感謝你。它解決了我的問題,但有什麼辦法來檢查控制器內是否有任何驗證錯誤? –
@black_belt不,以這種方式使用「FormRequest」的整個想法是,如果驗證沒有通過,它不會到達控制器。你唯一可能做的就是重寫這個類的'failedValidation'方法來防止拋出異常,但這意味着你將不得不找到一種方法來手動檢查它是否失敗,然後拋出你自己的錯誤。 –
檢查我的答案我確實做到了你想要做的事情....我發送了一個ajax提交,如果有錯誤,它將返回它們的警報,如果沒有錯誤,它將提交表格 – lewis4u