php - 将 Laravel 验证错误作为 JSON 响应返回

标签 php laravel validation

在 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/

相关文章:

php - Laravel:找不到类 'GuzzleHttp\Client'

python - 如何更正此正则表达式和函数以验证 pandas 列值模式的正确性?

php - 在动态创建的选择菜单上运行 js 函数

php - 在 Laravel 5.1 中发送密码重置链接后重定向?

laravel - 在 Blade 模板中包含CSS文件?

javascript - javascript中如何检查字符串的格式

java - 如何验证 int 的前导零?

php - 有没有办法将当前时间与mysql保存的时间进行比较

php - 检查wordpress用户是否通过外部脚本登录

laravel - Laravel 分页中的内存大小错误