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 相关文章推荐
实现“上一页”和“下一页按钮
Oct 09 PHP
PHP开发需要注意的安全问题
Sep 01 PHP
基于php上传图片重命名的6种解决方法的详细介绍
Apr 28 PHP
php使用ICQ网关发送手机短信
Oct 30 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
php提交表单发送邮件的方法
Mar 20 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
PHP简单的MVC框架实现方法
Dec 01 PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
Centos7安装swoole扩展操作示例
Mar 26 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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与C#分别格式化文件大小的代码
2011/05/14 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
php中try catch捕获异常实例详解
2014/11/21 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
Yii2语言国际化的配置教程
2018/08/19 PHP
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
Javascript 读书笔记索引贴
2010/01/11 Javascript
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
jQuery点缩略图弹出层显示大图片
2015/02/13 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
2016/08/02 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
vue v-model动态生成详解
2018/06/30 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
Python3匿名函数用法示例
2018/07/25 Python
python selenium操作cookie的实现
2020/03/18 Python
使用css3制作动感导航条示例
2014/01/26 HTML / CSS
一份教室追逐打闹的检讨书
2014/09/27 职场文书
金榜题名主持词
2015/07/02 职场文书
课程设计感想范文
2015/08/11 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
pytorch训练神经网络爆内存的解决方案
2021/05/22 Python
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL
html5表单的required属性使用
2021/07/07 HTML / CSS
Python中递归以及递归遍历目录详解
2021/10/24 Python
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记