laravel Validator ajax返回错误信息的方法

2020-09-08 07:01:48

将return back()->withErrors($validator->errors())->withInput();替换为下面的代码

$validator = Validator::make($request->input(), $rules, $messages);      if ($validator->fails()) {        //将返回错误循环组装成字符串        $arr = [];        foreach ($validator->getMessageBag()->toArray() as $k=>$error){          array_push($arr, "<li>".$error[0]."</li>");        }        $str = implode(' ', $arr);        return Response::json([          'success' => false,          'errors' => $str        ]);      }

然后直接在ajax输出相应的错误就行了

<div class="alert alert-danger alert-dismissible fade in" style="display: none;" id="yc"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> <ul class="margin-bottom-none padding-left-lg" id="li1"> </ul></div>
$.ajax({  method: 'post',  data: form,  dataType:'json',  url: $('#url').val(),  success: function (data) {  //console.log(data);  if (data.code == 0){   $('#textarea').html(JSON.stringify(data.resp, null, "t")).css("display","block");  } else if(data.code == 1) {   layer.msg("失败"+data.msg,{icon:2})  }else if (data.success == false) {   if (data.errors){   $('#yc').css('display','block');   $('#li1').html(data.errors);   }  }  } })
相关文章 大家在看