私はLaravel 5.4を使用しています。私は私の検証ルールとメッセージを持っていると私は、次のように私のコントローラでそれを使用するカスタムフォームの要求クラスがあります:私は、要求を送信するために、AJAXを使用していますカスタムフォーム要求クラスを使用しているときに検証エラーがあるかどうかをチェック
public function store(CustomFormRequest $request)
{
//
}
をし、任意の検証エラーがある場合に、Laravelはスロー検証エラーのJSON表現を含む422ステータスコードでのHTTP応答のエラー。
しかし、私はそれを望んでいません。代わりに、私のコントローラのメソッド内で、私は、任意の検証エラーがあるかどうかを知りたいと任意のがあるならば、私はこのように、検証メッセージと一緒にいくつかの追加データで応答を返すようにしたい:
// 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'メソッドをオーバーライドしてExceptionがスローされないようにすることができますが、失敗したかどうかを手動でチェックして独自のエラーをスローする方法を見つける必要があります。 –
私の答えをチェックしてください私はあなたがしたいことを正確にしました....私はajaxを送信し、エラーがあればアラートでそれらを返し、フォームを提出しない場合は – lewis4u