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 相关文章推荐
Blitz templates 最快的PHP模板引擎
Apr 06 PHP
PHP中文件上传的一个问题
Sep 04 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
May 07 PHP
如何在php中正确的使用json
Aug 06 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
Nov 19 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
Feb 10 PHP
php二维数组合并及去重复的方法
Mar 04 PHP
php常用正则函数实例小结
Dec 29 PHP
PHP SESSION机制的理解与实例
Mar 22 PHP
关于PHP中interface的用处详解
Jul 26 PHP
php7中停止php-fpm服务的方法详解
May 09 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中将汉字转换成拼音的函数代码
2012/09/08 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
2019/05/08 PHP
JS刷新框架外页面七种实现代码
2013/02/18 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
微信小程序实现人脸识别
2018/05/25 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python远程登录代码
2008/04/29 Python
python爬虫常用的模块分析
2014/08/29 Python
python实现多线程暴力破解登陆路由器功能代码分享
2015/01/04 Python
利用Python的Django框架生成PDF文件的教程
2015/07/22 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
python如何制作英文字典
2019/06/25 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
2019/08/04 Python
python3实现弹弹球小游戏
2019/11/25 Python
python实现超级马里奥
2020/03/18 Python
Anaconda+vscode+pytorch环境搭建过程详解
2020/05/25 Python
中国最大隐形眼镜网上商城:视客眼镜网
2016/10/30 全球购物
教育系毕业生中文求职信范文
2013/10/06 职场文书
出国留学经济担保书
2014/04/01 职场文书
贺卡寄语大全
2014/04/11 职场文书
对党的十八届四中全会的期盼
2014/10/17 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
2015年环保局工作总结
2015/05/22 职场文书
python单元测试之pytest的使用
2021/06/07 Python
基于Python实现射击小游戏的制作
2022/04/06 Python
Python3使用Qt5来实现简易的五子棋小游戏
2022/05/02 Python