Laravel validate error处理,ajax,json示例


Posted in PHP onOctober 25, 2019

如下所示:

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()返回的错误消息,带表单下标:

Laravel validate error处理,ajax,json示例

2、$validator->errors()->all()返回的错误消息,不带表单下标:

Laravel validate error处理,ajax,json示例

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>
@endif

2、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;
}

#验证ip
public function validateIp($attribute, $value)
{
 return filter_var($value, FILTER_VALIDATE_IP) !== false;
}

其实php已经做了很多验证,我们平时都没注意,可以去详细查看一下filter_var这个函数。

以上这篇Laravel validate error处理,ajax,json示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
一个高ai的分页函数和一个url函数
Oct 09 PHP
用PHP动态生成虚拟现实VRML网页
Oct 09 PHP
六酷社区论坛HOME页清新格调免费版 下载
Mar 07 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
php动态生成缩略图并输出显示的方法
Apr 20 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
orm获取关联表里的属性值
Apr 17 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 PHP
php+lottery.js实现九宫格抽奖功能
Jul 21 PHP
Laravel框架Blade模板简介及模板继承用法分析
Dec 03 PHP
PHP内存溢出优化代码详解
Feb 26 PHP
laravel 错误处理,接口错误返回json代码
Oct 25 #PHP
laravel 实现用户登录注销并限制功能
Oct 24 #PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 #PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 #PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 #PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 #PHP
laravel5.1 ajax post 传值_token示例
Oct 24 #PHP
You might like
《魔兽争霸3:重制版》更新 多项视觉效果调整
2020/05/04 魔兽争霸
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
js实现简单的验证码
2015/12/25 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
浅谈Javascript中的12种DOM节点类型
2016/08/19 Javascript
Angular工具方法学习
2016/12/26 Javascript
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
react基本安装与测试示例
2020/04/27 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python 多进程通信模块的简单实现
2014/02/20 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
涉外文秘个人求职的自我评价
2013/10/07 职场文书
自动化专业本科毕业生求职信
2013/10/20 职场文书
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
副董事长岗位职责
2014/04/02 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
研讨会致辞
2015/07/31 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python