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 相关文章推荐
检测png图片是否完整的php代码
Sep 06 PHP
微博短链接算法php版本实现代码
Sep 15 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Jan 06 PHP
解析thinkphp基本配置 convention.php
Jun 18 PHP
初识PHP
Sep 28 PHP
9个实用的PHP代码片段分享
Jan 22 PHP
php导入模块文件分享
Mar 17 PHP
Joomla框架实现字符串截取的方法示例
Jul 18 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
详解json在php中的应用
Sep 30 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
Oct 08 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
php+iframe实现隐藏无刷新上传文件
2012/02/10 PHP
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
2013/05/28 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
JavaScript中的bold()方法使用详解
2015/06/08 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
python flask 多对多表查询功能
2017/06/25 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
三星美国官网:Samsung美国
2017/02/06 全球购物
中科方德软件测试面试题
2016/04/21 面试题
遗产继承公证书
2014/04/09 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
教师教学评估方案
2014/05/09 职场文书
新农村建设汇报材料
2014/08/15 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
2014年消防工作总结
2014/11/21 职场文书
实习协议书
2015/01/27 职场文书
教师党员个人自我评价
2015/03/04 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
python - asyncio异步编程
2021/04/06 Python
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python
MySQL的存储过程和相关函数
2022/04/26 MySQL
nginx 配置缓存
2022/05/11 Servers