Laravel框架FormRequest中重写错误处理的方法
时间:2022-07-27
本文章向大家介绍Laravel框架FormRequest中重写错误处理的方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
laravel
框架中默认的validate
验证,在处理错误的时候,默认是返回上一页,当为ajax
的时候才会返回Json
。如果我们要一直返回Json
的话,那么需要重写错误处理
如下:在Requests
目录只用 新建BaseRequest
类
代码如下
<?php
/**
* @文件名称: BaseRequest.php.
* @author: daisc
* @email: jiumengfadian@live.com
* @Date: 2019/1/8
*/
namespace AppHttpRequestsFront;
use IlluminateFoundationHttpFormRequest;
use IlluminateHttpExceptionsHttpResponseException;
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 AppHttpRequestsFront;
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:"^1d{10}"',
'email' = 'required|email',
'password'= 'required|confirmed'
];
}
public function messages()
{
return [
'phone.required'= '手机号不能为空',
'phone.regex'= '请输入正确的手机号',
];
}
}
当我们在控制器中调用RegisterForm
的时候,就回返回Json
格式的错误信息。
不分是否是AJAX
以上就是本文的全部内容,希望对大家的学习有所帮助。
- Openflow细节理解之—Buffer_id篇
- 移动商城项目总结
- 移动商城第一篇【搭建项目环境+数据模型】
- 移动商城第二篇(品牌管理模块)【文件上传、数据校验、CRUD】
- 手把手在亚马逊EC2上搭建Keras GPU
- 移动商城第三篇(商品管理)【查询商品、添加商品】
- 移动商城第四篇(商品管理)【添加商品续篇、商品审核和上下架、前台展示、后台筛选】
- 移动商城第五篇(用户模块)【用户登陆、回显用户、拦截器、收货地址】
- 移动商城第六篇【单品查询、静态化页面】
- 移动商城第七篇【购物车增删改查、提交订单】
- Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】
- OFTest(一):如何忽略一些字段在端口poll报文
- Shiro第二篇【授权、整合Spirng、过滤器】
- Ajax数据的爬取(淘女郎为例)
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC