Laravel表单验证,拦截ajax,自定义返回数据

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_31648761/article/details/82255982

第一步:找到app\Http\Requests\Requests类,并在类中添加以下方法

    protected function failedValidation(Validator $validator)
    {
        throw new ValidationException($validator,$this->response(
            $this->formatErrors($validator)));
    }

    public function response(array $errors)
    {
        if (($this->ajax() && ! $this->pjax()) || $this->wantsJson()) {
            $errorsmsg = [];
            foreach($errors as $k => $v){
                $errorsmsg[$k] = $v[0];
            }
            return new JsonResponse($errorsmsg, 200);//更改格式,以及定义返回状态值
        }

        return $this->redirector->to($this->getRedirectUrl())
            ->withInput($this->except($this->dontFlash))
            ->withErrors($errors, $this->errorBag);
    }

以上代码修改好后,在前端模拟ajax请求,表单验证失败后,返回的格式应该就是我们更改之后的格式。

展开阅读全文

没有更多推荐了,返回首页