将return back()->withErrors($validator->errors())->withInput();替换为下面的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
|
$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输出相应的错误就行了
1
2
3
4
5
|
< 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 > |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
$.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返回错误信息的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_39864544/article/details/89239117