在 Laravel 的 RegisterController
中,我无法将错误返回到我的前端。我们的应用程序是作为 REST API 构建的,因此新用户的注册是通过 AJAX post 到注册路由进行的。如果验证通过,这会很好地工作,但如果验证失败,则不会显示任何错误。它只是重定向到 Laravel 主页。我们没有在前端使用 Blade,因此无法从 Blade 获取默认验证错误。前端是一个 ReactJS 客户端,通过 AJAX 调用与后端通信。
如何获取包含未通过验证的字段返回我的前端的 JSON?
protected function validator(array $data)
{
return Validator::make($data, [
'first_name' => 'required|string|max:255',
'last_name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
'birth_year' => 'required|integer|min:4',
'lat' => 'required|numeric',
'lon' => 'required|numeric',
]);
}
最佳答案
您可以通过将错误作为 json 响应返回来解决它
$validator = Validator::make($data, [
'first_name' => 'required|string|max:255',
'last_name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
'birth_year' => 'required|integer|min:4',
'lat' => 'required|numeric',
'lon' => 'required|numeric',
]);
if ($validator->fails()) {
return response()->json($validator->messages(), 200);
}
关于php - 将 Laravel 验证错误作为 JSON 响应返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50586280/