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中的数组操作函数整理
Aug 18 PHP
PHP持久连接mysql_pconnect()函数使用介绍
Feb 05 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
用php实现选择排序的解决方法
May 04 PHP
PHP使用CURL_MULTI实现多线程采集的例子
Jul 29 PHP
Linux下PHP连接Oracle数据库
Aug 20 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
Jan 07 PHP
php中的登陆login实例代码
Jun 20 PHP
Thinkphp3.2.3分页使用实例解析
Jul 28 PHP
PHP中rename()函数的妙用讲解
Feb 28 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
Laravel如何实现适合Api的异常处理响应格式
Jun 14 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
深思 PHP 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
php中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
基于thinkPHP框架实现留言板的方法
2016/10/17 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
jQuery 工具函数学习资料
2010/04/29 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
2011/06/28 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
2014/01/10 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
2017/09/21 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
css3动画效果小结(推荐)
2016/07/25 HTML / CSS
单位在职证明范本
2014/01/09 职场文书
股权转让协议书
2014/04/12 职场文书
食品工程专业求职信
2014/06/15 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
安装pytorch时报sslerror错误的解决方案
2021/05/17 Python
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android