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 相关文章推荐
在windows iis5下安装php4.0+mysql之我见
Oct 09 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
Aug 09 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 PHP
Laravel 5.0 发布 新版本特性详解
Feb 10 PHP
在php和MySql中计算时间差的方法详解
Mar 27 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
Oct 27 PHP
php实现图片上传并进行替换操作
Mar 15 PHP
php 判断字符串编码是utf-8 或gb2312实例
Nov 01 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
Apr 26 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 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检测链接是否存在的代码实例分享
2016/05/06 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
Javascript实现的分页函数
2006/12/22 Javascript
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
javascript 实用的文字链提示框效果
2010/06/30 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
JQuery里选择超链接的实现代码
2011/05/22 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
[03:17]2016完美“圣”典风云人物:冷冷专访
2016/12/08 DOTA
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
Python+matplotlib实现填充螺旋实例
2018/01/15 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
在NumPy中创建空数组/矩阵的方法
2018/06/15 Python
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
大学军训感言300字
2014/03/09 职场文书
化学教育专业自荐信
2014/07/04 职场文书
终止劳动合同通知书
2015/04/16 职场文书