时间:2021-05-26
如下所示:
public function updateLevelTestRecords(Request $request) { $rules = [ 'uid' => 'required|integer', 'level_test_page_id' => 'required', 'level_test_progress_id' => 'required', 'cost_time' => 'required', 'score' => 'required', ]; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { // return $this->outPutJson($validator->errors(), 10016); return $this->outPutJson($validator->errors()->all(), 10016); } }1、$validator->errors()返回的错误消息,带表单下标:
2、$validator->errors()->all()返回的错误消息,不带表单下标:
3、outPutJson是我自定义的方法,简单而且非常好用!
public function outPutJson($data, $code = 200, $message = NULL) { $message = $message ?? config('response_code')[$code]; return \Response::json(['message' => $message, 'status_code' => $code, 'data' => $data]); }3、我上面的方法是ajax等接口之类的请求,如果是web应用,直接用validate就可以了:
public function store(Request $request){ $validatedData = $request->validate([ 'title' => 'required|unique:posts|max:255', 'body' => 'required', ]); // The blog post is valid...}4、如果验证不通过,会直接跳转到请求页面,并把错误消息闪存到session,前台页面调用错误消息方法如下:
@if ($errors->any()) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div>@endif2、validate实现的原理,laravel 5.5的可以参考这个文件。
D:\phpStudy\WWW\BCCKidAdmin\vendor\laravel\framework\src\Illuminate\Validation\Concerns\ValidatesAttributes.php
部分源代码如下:
#验证整数public function validateInteger($attribute, $value){ return filter_var($value, FILTER_VALIDATE_INT) !== false;}#验证ippublic function validateIp($attribute, $value){ return filter_var($value, FILTER_VALIDATE_IP) !== false;}其实php已经做了很多验证,我们平时都没注意,可以去详细查看一下filter_var这个函数。
以上这篇Laravel validate error处理,ajax,json示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
laravel框架中默认的validate验证,在处理错误的时候,默认是返回上一页,当为ajax的时候才会返回Json。如果我们要一直返回Json的话,那么需要
最近上班太忙,晚上抽空整理一下ajax请求中,后台返回json字符串和json数组的场景,以及前台的处理示例。直接看代码。json字符串的后台响应package
增加validate-ajax以支持ajax验证增加validate-pattern直接通过正则表达式的认证修改validate-equlas以验证密码与确认密
javascript接收处理json信息ajax获得接口信息,javascript本身处理json信息;通过eval()把接收的json字符串变成真实的对象信息
原生ajax处理json格式数据代码实例:由于jQuery的出现,原生ajax使用频率也越来越少,这当然是因为jQuery的便利性多导致的。但是对于原生ajax