0
私はAjax呼び出しに戻す方法を理解しようとしていますが、検証エラーがあった場合、そのページが続くのを防ぎ、それらのエラーをユーザーに表示することができます。 。Laravel検証エラーをAjax呼び出しに戻す
/*
* Create User After they complete the first part of the form.
*
*/
public function createUserAndOrder(Request $request)
{
$validation = $this->validate($request, [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|confirmed|unique:users,email',
'email_confirmation' => 'required'
]);
$credentials = [
'first_name' => $request->input('first_name'),
'last_name' => $request->input('last_name'),
'email' => $request->input('email'),
'password' => Hash::make(str_random(8)),
];
$user = Sentinel::registerAndActivate($credentials);
$user->role()->attach(5);
return response()->json([
'success' => true,
'errors' => null
]);
}
だから、あなたは間違いなく正しいです:これはあなたにこのようなJSONレスポンスを与えるだろう
。しかし、私はこの結果を得る。 "last_name":[最後の 名前フィールドは必須です] "、" email ":["成功 ":false、"エラー ":{" first_name " "電子メールフィールドが必要です。"]、 "email_confirmation":[" 確認フィールドが必要です"]}} "NetworkError:422 Unprocessable Entity - http://myapp.app/createUserAndOrder"エラーを意味します。 – user3732216
結果はOKです。これをあなたのajax呼び出しで処理する必要があります。 httpステータスコードが422の場合、サーバーから返されたユーザーにエラーを表示できます。 –
ああ、これはajaxコールの成功またはエラーハンドラで行いますか? – user3732216