Blogger Information
Blog 81
fans 1
comment 0
visits 124553
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
laravle 验证器 ajax请求报422解决方法。
有什么是忘不了的的博客
Original
1457 people have browsed it

ajax请求验证器验证失败后,会返回一个422状态的错误,我用ajax是没有捕捉到。

然后从百度找啦一个方法吧错误信息获取到,自己生成一个json返回给浏览器。

/**
 * @param $data     验证的数据
 * @param $rules    验证的规则
 * @param $messages 自定义的错误信息
 * @return mixed    验证失败返回对应的错误信息,验证成功无返回值。
 */
protected function  AjaxValidator($data,$rules, $messages){
    $validator = \Validator::make($data, $rules, $messages);
    if ($validator->fails()) {
        //将返回错误循环组装成字符串
        $arr = [];
        foreach ($validator->getMessageBag()->toArray() as $k=>$error){
            array_push($arr, $error[0]);
        }
        $str = implode(' ', $arr);
        return \Response::json([
            'success' => false,
            'errors' => $str
        ]);
    }
}

$rules =[
    'username' => 'required|max:24',
    'password' => 'required|min:6',
    'captcha' => 'required|captcha'
];
$messages = [
    'username.required' => '用户名必填',
    'username.max' => '用户名长度必须小于24',
    'password.required' => '密码必填',
    'password.min' => '密码长度必须大于6',
    'captcha.captcha' => '验证码不正确',
];
$validator = $this->AjaxValidator($request->all(),$rules ,$messages);

最终错误的信息返回:

E@ZE146WF$U{UOELOCR2S9U.png


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post