検証リクエストでいくつかのプロパティをオーバーライドして、検証が失敗した場合の処理を制御できますか?私は、ユーザーの検証要求していLaravel 5.5。検証要求のリダイレクト/応答
を(私は、コントローラ内の検証を使用する必要はありません):
public function postRegisterAjax(UserRegistrationValidationRequest $request)
{
...
return $this->responseJson($status, $msg);
}
私が必要:
public function rules()
{
return [
'email' => 'required|email|max:255|unique:user',
'name' => 'required',
'password' => 'required|min:6',
'password_confirmation' => 'required|min:6|same:password'
];
}
とをAJAXコールはこの問題が発生したメソッドを登録するためになされたとき$msg
を更新して、JSを介して検証エラーメッセージを動的に返すことができます。
EDIT:(私のカスタムフォームのリクエストで)私の最終的な解決策
public function failedValidation(Validator $validator)
{
if ($validator->fails()) {
$status = Status::ERROR;
throw new HttpResponseException(response()->json(["response" => [
'msg' => $validator->errors()->all(':message'),
'status' => $status
]]));
}
return response()->json(["response" => [
'msg' => 'User successfully registered',
'status' => Status::SUCCESS
]]);
}
'responseJSON'の代わりに'response'プロパティ? – Norgul
あなたが正しいとわかったら、あなたは 'response.responeJSON'としてあなたの希望する' response'にアクセスできます。 –
私は 'data.responseJSON'(関数の引数で渡した内容に応じて、あなたが書いたものと同じです)でアクセスできますが、' data.response'を持っています。代わりに 'responseJSON'を' response'と呼ぶように変更することが可能なのではないでしょうか? – Norgul