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 相关文章推荐
解析CI即CodeIgniter框架在Nginx下的重写规则
Jun 03 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
Dec 11 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 PHP
完美的php分页类
Oct 24 PHP
php读取本地json文件的实例
Mar 07 PHP
Laravel 错误提示本地化的实现
Oct 22 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 PHP
Yii实现微信公众号场景二维码的方法实例
Aug 30 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
Sep 17 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读取二进制流(C语言结构体struct数据文件)的深入解析
2013/06/13 PHP
重新认识php array_merge函数
2014/08/31 PHP
Yii2 GridView实现列表页直接修改数据的方法
2016/05/16 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
js loading加载效果实现代码
2009/11/24 Javascript
JQery 渐变图片导航效果代码 漂亮
2010/01/01 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
React Native 环境搭建的教程
2017/08/19 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
2019/04/17 Javascript
jQuery插件simplePagination的使用方法示例
2020/04/28 jQuery
python实现巡检系统(solaris)示例
2014/04/02 Python
python回调函数中使用多线程的方法
2017/12/25 Python
Python使用OpenCV进行标定
2018/05/08 Python
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
python类的实例化问题解决
2019/08/31 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
c++工程师面试问题
2013/08/04 面试题
劳资员岗位职责
2013/11/11 职场文书
大学生关于奋斗的演讲稿
2014/01/09 职场文书
20岁生日感言
2014/01/13 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
英语国培研修感言
2014/02/13 职场文书
一般党员对照检查材料
2014/09/24 职场文书
事业单位考察材料范文
2014/12/25 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
Python图片处理之图片裁剪教程
2021/05/27 Python
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python
vue实现移动端div拖动效果
2022/03/03 Vue.js
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏