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 socket方式提交的post详解
Jul 19 PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
Nov 03 PHP
php从文件夹随机读取文件的方法
Jun 01 PHP
带你了解PHP7 性能翻倍的关键
Nov 19 PHP
PHP实现的蚂蚁爬杆路径算法代码
Dec 03 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
关于PHP转换超过2038年日期出错的问题解决
Jun 28 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 PHP
PHP封装cURL工具类与应用示例
Jul 01 PHP
Laravel基础_关于view共享数据的示例讲解
Oct 14 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 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
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
Firefox window.close()的使用注意事项
2009/04/11 Javascript
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
jQuery如何获取动态添加的元素
2016/06/24 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
VueJs 将接口用webpack代理到本地的方法
2017/11/27 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
jquery实现广告上下滚动效果
2021/03/04 jQuery
Django卸载之后重新安装的方法
2017/03/15 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
python opencv进行图像拼接
2020/03/27 Python
Python爬虫过程解析之多线程获取小米应用商店数据
2020/11/14 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
传播学专业毕业生自荐信
2013/11/04 职场文书
售前工程师职业生涯规划
2014/03/02 职场文书
2014年端午节活动方案
2014/03/11 职场文书
科技节口号
2014/06/19 职场文书
工作失职造成投诉的检讨书范文
2014/10/05 职场文书
被告代理词范文
2015/05/25 职场文书
毕业论文指导老师意见
2015/06/04 职场文书
Python词云的正确实现方法实例
2021/05/08 Python
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
python cv2图像质量压缩的算法示例
2021/06/04 Python
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电