服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|

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

2019-06-11 11:57来源:zx所属分类:PHP教程

这篇文章主要介绍了Laravel框架FormRequest中重写错误处理的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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教程PHP中抽象类,接口功能、定义方法示例

    PHP中抽象类,接口功能、定义方法示例

    这篇文章主要介绍了PHP中抽象类,接口功能、定义方法,简单分析了php抽象类与接口的概念、功能、定义方法及相关注意事项,需要的朋友可以参考下...

    Sweet小马 501 2019-06-09
  • PHP教程PHP实现获取毫秒时间戳的方法【使用microtime()函数】

    PHP实现获取毫秒时间戳的方法【使用microtime()函数】

    这篇文章主要介绍了PHP实现获取毫秒时间戳的方法,结合实例形式分析了php使用microtime()函数获取、转换毫秒级时间戳的相关操作技巧,需要的朋友可以参考下...

    流风,飘然的风 128 2019-06-06
  • PHP教程PHP DB 数据库连接类定义与用法示例

    PHP DB 数据库连接类定义与用法示例

    这篇文章主要介绍了PHP DB 数据库连接类定义与用法,涉及php基于mysqli针对数据库的连接、增删改查等常见操作封装与使用技巧,需要的朋友可以参考下...

    moTzxx 491 2019-06-02
  • PHP教程PHP lcfirst()函数定义与用法

    PHP lcfirst()函数定义与用法

    今天小编就为大家分享一篇关于PHP lcfirst()函数定义与用法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    php参考手册 427 2019-06-02
  • PHP教程详解PHP 二维数组排序保持键名不变

    详解PHP 二维数组排序保持键名不变

    这篇文章主要介绍了如何保持PHP 二维数组排序键名不变,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...

    周伯通的麦田 481 2019-06-05
  • PHP教程PHP中rename()函数的妙用讲解

    PHP中rename()函数的妙用讲解

    今天小编就为大家分享一篇关于PHP中rename()函数的妙用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    炫酷飞扬 395 2019-06-07
  • PHP教程php中json_decode()和json_encode()的使用方法

    php中json_decode()和json_encode()的使用方法

    json_decode对JSON格式的字符串进行编码而json_encode对变量进行 JSON 编码,需要的朋友可以参考下...

    mdxy-dxy 184 2019-05-28
  • PHP教程PHP递归算法的简单实例

    PHP递归算法的简单实例

    今天小编就为大家分享一篇关于PHP递归算法的简单实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    炫酷飞扬 219 2019-06-07