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 相关文章推荐
PHP 数据结构 算法描述 冒泡排序 bubble sort
Jul 10 PHP
php数字游戏 计算24算法
Jun 10 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
那些年我们错过的魔术方法(Magic Methods)
Jan 14 PHP
PHP获取数组中重复最多的元素的实现方法
Nov 11 PHP
php上传图片客户端和服务器端实现方法
Mar 30 PHP
php中 $$str 中 &quot;$$&quot; 的详解
Jul 06 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
Dec 17 PHP
thinkphp命名空间用法实例详解
Dec 30 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
Dec 18 PHP
PHP中散列密码的安全性分析
Jul 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
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
jquery图片切换实例分析
2015/04/15 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
Python操作MongoDB详解及实例
2017/05/18 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
对python中的logger模块全面讲解
2018/04/28 Python
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
PyCharm代码提示忽略大小写设置方法
2018/10/28 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
python爬取音频下载的示例代码
2020/10/19 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
建筑设计所实习生自我鉴定
2013/09/25 职场文书
国际贸易专业求职信
2014/06/04 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS