当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-24 10:38:08 浏览: 评论:0 

今天小编就为大家分享一篇laravel Validator ajax返回错误信息的方法,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

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

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

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

  1. <div class="alert alert-danger alert-dismissible fade in" style="display: none;" id="yc"
  2.  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button> 
  3.  <ul class="margin-bottom-none padding-left-lg" id="li1"
  4.  </ul> 
  5. </div> 
  6.  
  7. $.ajax({ 
  8.   method: 'post'
  9.   data: form, 
  10.   dataType:'json'
  11.   url: $('#url').val(), 
  12.   success: function (data) { 
  13.   //console.log(data); 
  14.   if (data.code == 0){ 
  15.    $('#textarea').html(JSON.stringify(data.resp, null, "\t")).css("display","block"); 
  16.   } else if(data.code == 1) { 
  17.    layer.msg("失败"+data.msg,{icon:2}) 
  18.   }else if (data.success == false) { 
  19.    if (data.errors){ 
  20.    $('#yc').css('display','block'); 
  21.    $('#li1').html(data.errors); 
  22.    } 
  23.   } 
  24.   } 
  25.  })

Tags: Validator ajax

分享到: