Laravel框架FormRequest中重写错误处理的方法


Posted in PHP onFebruary 18, 2019

laravel 框架中默认的validate验证,在处理错误的时候,默认是返回上一页,当为ajax的时候才会返回Json。如果我们要一直返回Json的话,那么需要重写错误处理

如下:在Requests目录只用 新建BaseRequest

Laravel框架FormRequest中重写错误处理的方法

代码如下

<?php
/**
 * @文件名称: BaseRequest.php.
 * @author: daisc
 * @email: jiumengfadian@live.com
 * @Date: 2019/1/8
 */

namespace App\Http\Requests\Front;

use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;

class BaseRequest extends FormRequest
{

  public function failedValidation($validator)
  {

    $error= $validator->errors()->all();
    // $error = $validator;

    throw new HttpResponseException(response()->json(['code'=>1,'message'=>$error[0]]));

  }

}

重写了failedValidation方法,将抛出错误处理为了json格式的。

然后在自定义的处理验证类中,继承该类就行了,

如:RegisterForm

<?php

namespace App\Http\Requests\Front;

class RegisterForm extends BaseRequest
{
  /**
   * Determine if the user is authorized to make this request.
   *
   * @return bool
   */
  public function authorize()
  {
    return true;
  }

  /**
   * Get the validation rules that apply to the request.
   *
   * @return array
   */
  public function rules()
  {
    return [
      'phone'=>'required|regex:"^1\d{10}"',
      'email' => 'required|email',
      'password'=>'required|confirmed'
    ];
  }

  public function messages()
  {
    return [
      'phone.required'=>'手机号不能为空',
      'phone.regex'=>'请输入正确的手机号',
    ];

  }

}

当我们在控制器中调用RegisterForm的时候,就回返回Json格式的错误信息。

不分是否是AJAX

Laravel框架FormRequest中重写错误处理的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
用PHP4访问Oracle815
Oct 09 PHP
怎样在UNIX系统下安装MySQL
Oct 09 PHP
php 正则匹配函数体
Aug 25 PHP
PHP 转义使用详解
Jul 15 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
PHP提交表单失败后如何保留已经填写的信息
Jun 20 PHP
PHP 二维数组和三维数组的过滤
Mar 16 PHP
Smarty模板简单配置与使用方法示例
May 23 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
PHP CURL使用详解
Mar 21 PHP
laravel按天、按小时,查询数据的实例
Oct 09 PHP
phpmyadmin在宝塔面板里进不去的解决方案
Jul 06 PHP
php原生数据库分页的代码实例
Feb 18 #PHP
PHP实现文字写入图片功能
Feb 18 #PHP
php分享朋友圈的实现代码
Feb 18 #PHP
php微信分享到朋友圈、QQ、朋友、微博
Feb 18 #PHP
php实现微信分享朋友链接功能
Feb 18 #PHP
PHP实现唤起微信支付功能
Feb 18 #PHP
thinkphp5使用无限极分类
Feb 18 #PHP
You might like
phpstrom使用xdebug配置方法
2013/12/17 PHP
从PHP的源码中深入了解stdClass类
2014/04/18 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
基于jQuery的获得各种控件Value的方法
2010/11/19 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
老司机带你解读jQuery插件开发流程
2016/05/16 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
浅谈Node.js 沙箱环境
2018/05/15 Javascript
JS添加或删除HTML dom元素的方法实例分析
2019/03/05 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
python Django批量导入数据
2016/03/25 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
英国香水店:The Perfume Shop
2017/03/27 全球购物
Sneaker Studio捷克:购买运动鞋
2018/07/08 全球购物
Hotels.com日本:国外和海外住宿,酒店预订
2019/12/13 全球购物
《沉香救母》教学反思
2014/04/19 职场文书
我爱我的祖国演讲稿
2014/05/04 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
孔繁森观后感
2015/06/10 职场文书
2015年度女工工作总结
2015/10/22 职场文书
JAVA API 实用类 String详解
2021/10/05 Java/Android