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

将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);
   }
  }
  }
 })

以上这篇laravel Validator ajax返回错误信息的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。