私のLaravel 4.2プロジェクトの検証は、Ardentパッケージで行われました。 Laravel 5.5に行った後、私はArdentを削除し、フォーム要求でLaravelのネイティブ検証を行いたいと考えました。Laravelカスタム検証とajax
私が持っている問題は、Ajax呼び出しは次のように前に検証されたことである。
public function postRegisterAjax(A)
{
try {
...
} catch (ExceptionBag $e) {
$msg = $e->getMessageBag()->all(':message');
$status = Status::ERROR;
}
return $this->responseJson($status, $msg);
}
は今、私は
UserValidationRequest
クラスを導入して、私はページをリロードすることなく、私にエラーメッセージをスローするようにAjax呼び出しをしたいと思います。そのためには、私はJsonレスポンスとしてステータスとメッセージを転送する必要があります。
私は何とか検証フックの後であることを実行しようとしましたが、それは動作しません:
protected function getValidatorInstance()
{
$validator = parent::getValidatorInstance();
if ($validator->fails()) {
\Log::info($validator->errors());
$msg = $validator->errors();
$status = Status::ERROR;
return response()->json(['response' => [
'status' => $status,
'msg' => $msg,
]]);
}
return $validator;
}
コードがMethod passes does not exist
(Illuminate/Support/Traits/Macroable.php:96
)というreturn response()
に失敗しました。
誰かが問題と思われることを知っていますか?