Laravel 5.5 FormRequest 自定义错误消息

laravel使用request类进行form表单验证 laravel使用request类进行form表单验证1.使用命令行工具创建requestNavRequest.php2.NavRequest.php验证类3 重写FormRequest这个类的方法requestController.php4 表单验证类应用创建一个控制器创建路由应用预览 1.使用命令行工具创建request php artisan make:request Nav/NavRequest 为了简化controller参数验证,我们单独建立一个文件夹,作为我们参数层验证;具体异常抛出。 首先 阅读详情

Laravel 5.5 FormRequest 自定义错误消息

  使用FormRequest进行表单验证,就不用让验证逻辑和控制器里面的逻辑都混在一起。但在使用的时候呢,发现json错误返回的数据,与我们想要的有点差距。下面我给个例子:(不喜勿喷) 
  这里写图片描述

  在用ajax进行提交时,如果验证错了,那么他会返回 
  这里写图片描述 
   
  如果是权限错了,他会返回 
  这里写图片描述

  但我想要的是 
  这里写图片描述

  那怎么办呢,其实很简单 
  我们只需要在 App\Exceptions\Handler 里面重写两个函数就可以了 
  这里写图片描述
  添加上这两个函数,然后里面怎么定义,就看你了 
  记得加上 
  

       use Illuminate\Validation\ValidationException;
       use Illuminate\Auth\Access\AuthorizationException;
  • 1
  • 2

最后附上这两个文件的代码 
LoginPost

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Auth\AuthenticationException;

class LoginPost extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize(){
        if($this->input('account')=='aaa@abc.com'){
            return false;
        }
        return true;
    }

    protected function failedAuthorization()
    {
        throw new AuthenticationException('该帐号已被拉黑');
    }



    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules(){
        return [
            'account'=>[
                'required',
                'regex:/^1[34578][0-9]\d{4,8}|(\w)+(\.\w+)*@(\w)+((\.\w+)+)|[0-9a-zA-Z_]+$/',//验证为手机号,邮箱,或帐号
            ],
            'password'=>'required|between:6,18',//验证密码
        ];
    }

    public function messages(){
        return [
            'account.required' => '帐号不能为空',
            'account.regex' => '帐号不合法',
            'password.required'  => '密码不能为空',
            'password.between'  => '密码错误',
        ];
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54

Handler

<?php

namespace App\Exceptions;

use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Illuminate\Validation\ValidationException;
use Illuminate\Auth\AuthenticationException;

class Handler extends ExceptionHandler
{
    /**
     * A list of the exception types that are not reported.
     *
     * @var array
     */
    protected $dontReport = [
        //
    ];

    /**
     * A list of the inputs that are never flashed for validation exceptions.
     *
     * @var array
     */
    protected $dontFlash = [
        'password',
        'password_confirmation',
    ];

    /**
     * Report or log an exception.
     *
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
     *
     * @param  \Exception  $exception
     * @return void
     */
    public function report(Exception $exception)
    {
        parent::report($exception);
    }

    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Exception  $exception
     * @return \Illuminate\Http\Response
     */
    public function render($request, Exception $exception)
    {
        return parent::render($request, $exception);
    }


    protected function unauthenticated($request, AuthenticationException $exception)
    {

        if($request->expectsJson()){
            $response=response()->json([
                    'status'=>3,
                    'msg' => $exception->getMessage(),
                    'errors'=>[],
                ], 200);
        }else{
            $response=redirect()->guest(route('login'));
        }
        return $response;
    }

    protected function invalidJson($request, ValidationException $exception)
    {
        return response()->json([
            'status'=>2,
            'msg' => $exception->getMessage(),
            'errors' => $exception->errors(),
        ], $exception->status);
    }
}
某手sig3-ios算法 Chomper黑盒调用 本文主要是介绍Chomper的算法模拟执行,Chomper目前已经已经是能比较完整的模拟ios可执行文件执行的模拟器,在这块有非常大的优势。以前安卓端有强势的unidbg,现在iOS也有Chomper了,后续等待作者持续更新,完善Chomper。强势推荐一波-> Chomper地址: https://github.com/sledgeh4w/chomper。我这块也已经使用Chomper完成雅迪系列、某手的算法调用。后续也会有更多扩展。 阅读详情

相关推荐

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用

测试说明 测试模块数:3 测试模式:配置模式和传输模式 如果没有检测到串口,首先检查是否安装串口驱动CH341SER,下载链接,提取码:vaw2 工作模式 模式(0-3) M2 M1 M0 模式介绍 备注 0 传输模式 1 0 0 串口打开,无线打开,连续透明传输 空速支持手动配置和自适应波特率自动调节;连续模式双方波特率必须一致 1 RSSI 1 0 1 串口打开,无线打开,RSSI功能打开 模块每100ms输出RSSI强度值 2 测距模式 1 1 0 保留 - 3 配置模式

GniLAY1022的博客 4243

Laravel 5.5 FormRequest 自定义错误消息

Laravel 5.5 FormRequest 自定义错误消息  使用FormRequest进行表单验证,就不用让验证逻辑和控制器里面的逻辑都混在一起。但在使用的时候呢,发现json错误返回的数据,与我们想要的有点差距。下面我给个例子:(不喜勿喷)     在用ajax进行提交时,如果验证错了,那么他会返回         如果是权限错了,他会返回     但我想要的是     那怎么

断水流--假的蒙面加菲猫 5589

Mann-Kendall检验全解析:从原理到11种变体及Python实现

本文全面解析Mann-Kendall检验,从基础原理到应对自相关、季节性等复杂数据的11种关键变体,如Hamed-Rao修正、季节性MK和趋势自由预白化(TFPW)。详细阐述各方法的适用场景与数学原理,并提供完整的Python实战代码,帮助研究者针对不同数据特性选择最稳健的趋势分析方法。

weixin_29050271的博客 459

Laravel 表单验证 使用技巧_throw validationexception withmessages

如果我们不使用 validate () 或 Form Request,但仍然需要使用相同的 422 状态码和错误结构抛出错误,那么可以手动抛出 throw ValidationException::withMessages()这个功能真的是用不到的时候没感觉,用到的时候觉得真优雅~if (!user∣∣!user∣∣!Hash::check‘email’ => [‘邮箱格式不正确’],]);我们只需在。

2401_84254087的博客 936

离散数学期末考试试卷(两套)-熟悉题型

3.设集合A={a,b,c,d}上有自反关系R={,,,,},对称关系S={,,,}。6.设集合A={1,2,3},B={u,v,w},C={a,b,c},f是集合A到集合B上的映射,g是集合B到集合C上的映射,f={, , },g={},则复合函数g。5. 设集合A={a,b,c,d,e},下列选项中哪一个集合不是A的划分( )。

muse3159546973的博客 6957

CATIA二次开发一一一装配体与零件之间的坐标转换

输入参数:Product(产品实例对象)、iPointToTransfor(待转换坐标点CATMathPoint)核心逻辑:通过产品对象的绝对位置变换矩阵,计算逆向变换实现坐标系转换。输出参数:Point(转换后的局部坐标点CATMathPoint)

工业软件开发 1129

单点登录-CAS介绍

什么是 CAS CAS(Central Authentication Service)是耶鲁大学的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方案。采用 CAS 最大的因素是从安全性角度来考虑,用户在 CAS 服务端录入用户名和密码之后通过 Ticket 在不同系统间进行认证,不会在网上传输密码,从而保证安全性。 CAS 具有以下特点: 开源通用的企业级单点登录解决方案; 一...

小白成神路 1639

把 SNC 支持的通信链路一次讲透,SAP GUI、RFC、CPIC、SAProuter 到底谁在保护谁

摘要: SNC(Secure Network Communications)是SAP系统中用于保护特定通信链路的安全机制,主要应用于DIAG、RFC、CPIC等SAP协议,而非HTTP等互联网协议(后者由SSL/TLS处理)。其核心在于保护通信端点之间的逻辑链路,需在发起方和接收方同时配置SNC参数,包括SNC名称、保护等级(QoP)等。实际项目中,SNC的配置涉及多个层面,如SAP GUI到ABAP平台的登录链路、外部程序通过RFC/CPIC连接ABAP的认证、ABAP系统间的跨系统通信等。配置不当可能导

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 250

laravel ajax 表单验证,laravel中使用FormRequest进行表单验证,验证异常返回JSON

通常在项目中,我们会对大量的前端提交过来的表单进行验证,如果不通过,则返回错误信息。前端为了更好的体验,都使用ajax进行表单提交,虽然 validate() 方法能够根据前端的不同请求方式,返回不同的结果。但是返回的json格式并不是我们想要的,这个时候,我们就需要自定义返回错误结果。先创建一个表单请求类:PHP artisan make:request TestRequest然后在 rules...

weixin_36403165的博客 705

ARM系统控制和管理接口System Control and Management Interface

本文档描述了一个可扩展的独立于操作系统的软件接口,用于执行各种系统控制和管理任务,包括电源和性能管理。 本文档描述了系统控制和管理接口(SCMI),它是一组操作系统无关的软件接口,用于系统管理。

AI-安全-功耗 1913

汽车IVI中控开发入门及进阶(三):概述

开发板的作用当然是为了解决一些应用而设计的,主体是板,终极目的是应用,中间过程则是开发,是基于板的开发。可以和编译Linux内核一样,通过buildroot配置,menuconfig修改,编译出一个完整的可以直接烧写到芯片上运行的Linux系统软件(包含boot、kernel、rootfs以及rootfs中的各种库和应用程序)。所以这些实现都是建构在汽车中控开发板的解决方案上的,最核心的当然就是一颗中控主控芯片,这是一颗国产中控双核DA主控芯片,AECQ100认证的车规级芯片。Q:uboot的作用是什么?

码农17年的博客 1407

Laravel中使用FormRequest进行表单验证及对验证异常进行自定义处理

本文主要展示的是,单独抽离,验证层(即参数验证) 为了简化controller参数验证,我们单独建立一个文件夹,作为我们参数层验证;具体异常抛出,以及Form Request的执行laravel官方文档已经很详细了,自行百度.下面仅展示案例,便于快速上手使用: 1.新建Requests文件夹 2.然后在新建NavRequest,参数验证类,继承FormRequest &lt;?php...

cfun_goodmorning的博客 1万+

YOLOv8改进 | 融合篇,YOLOv8改进主干网络为MobileNetV3+CA注意机制+添加小目标检测层(全网独家首发,实现极限涨点)

小目标检测难点众多,导致很多算法对小目标的检测效果远不如大中型目标。影响算法性能的主要原因如下:第一,小目标分辨率低、信息量不足,导致神经网络提取到的有效特征较少。第二,小目标在图像中所占的区域较小,易受背景干扰,这对算法的定位性能要求较高。第三,小物体标注困难,训练数据有限,导致模型泛化能力差。例如多尺度学习、无锚机制和生成对抗学习等方法,都能提高小目标检测的准确性和鲁棒性。为了改善小目标漏检现象严重的问题,我在 YOLOv8 中增加了 P2 检测头,相当于有四个检测头,使网络能检测到更小的目标。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2858

Laravel 5.5 FormRequest 自定义错误消息 postman调试时X-Requested-With设为XMLHttpRequest

Laravel 5.5 FormRequest 自定义错误消息   使用FormRequest进行表单验证,就不用让验证逻辑和控制器里面的逻辑都混在一起。但在使用的时候呢,发现json错误返回的数据,与我们想要的有点差距。下面我给个例子:(不喜勿喷)      在用ajax进行提交时,如果验证错了,那么他会返回         如果是权限错了,他会返回      但我想要...

weixin_30621711的博客 342

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

laravel request 类进行form表单验证

为了简化controller参数验证,我们单独建立一个文件夹,作为我们参数层验证;具体异常抛出,以及Form 首先在app\http的文件夹下创建一个新的文件件Requests,进入新创建的文件夹Requests,可以在创建一个文件夹Nav,用于区分不同业务的功能。也可以不用创建 在新创建的文件夹下,创建一个类,例如NavRequest <?php namesp...

weixin_30527423的博客 500

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Laravel表单验证规则完全指南:提升开发效率的终极工具包

**Laravel表单验证规则**是每个Laravel开发者必须掌握的核心技能之一。在本文中,我们将深入探讨如何利用laravel-validation-rules这个强大的工具包来大幅提升你的**Laravel表单验证效率**。这个由Spatie团队开发的扩展包提供了一系列实用的验证规则,让你的验证逻辑更加简洁、强大且易于维护。 ## 📦 什么是laravel-validation-rule

gitblog_00972的博客 644

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

laravel ajax返回json,Laravel validate error处理,ajax,json示例

如下所示:public function updateLevelTestRecords(Request $request) {$rules = ['uid' => 'required|integer','level_test_page_id' => 'required','level_test_progress_id' => 'required','cost_time' =&gt...

weixin_32761653的博客 556

api laravel 统一返回方法_laravel 中api使用RequestForm验证返回响应Http

api使用Request这种方式验证数据,如果失败就会返回422错误laravel 5.5的解决方案请看手册这里和简书一篇文章 如果你要自定义请看这里AuthRequest验证代码use ApiResponse;protected $routeName = null;public function __construct (){// 这里我使用了获取到了路由别名$this->routeNam...

weixin_39836876的博客 394

为什么 Laravel 的 `FormRequest` 类可以被多个控制器方法复用?这体现了继承的什么优势?

Laravel 的 类之所以可以被多个控制器方法复用,核心在于它将验证逻辑从控制器中解耦出来,封装为一个独立的、可复用的类。这种设计充分利用了 OOP 继承(Inheritance) 和 单一职责原则(SRP),其优势不仅体现在代码复用,更在于职责清晰、可维护性高、可测试性强。一个 类(如 )封装了: 2. 在多个控制器方法中注入 二、这体现了继承的什么优势? ✅ 1. 代码复用(Code Reusability) 无需在每个控制器方法中重复写 。 验证逻辑集中管理,一处修改,处处生效。 ✅

长风破浪会有时的博客 585

为什么选择laravel-validation-rules?10个让你告别重复编码的理由

Laravel验证规则库(laravel-validation-rules)是一个专为Laravel开发者设计的强大验证工具集,它提供了多种实用的验证规则,帮助开发者告别重复编码,提高开发效率。这个由Spatie团队维护的开源项目已经成为许多Laravel项目的首选验证解决方案。 ## 🚀 1. 权限验证自动化 `Authorized`规则让你轻松实现权限验证自动化。不再需要手动编写复杂的权

gitblog_00041的博客 713

Laravel 13多模态验证究竟有多强?90%开发者忽略的5个关键点

掌握Laravel 13的多模态验证,轻松应对复杂请求校验。支持多种数据格式混合验证,提升API健壮性与开发效率,涵盖表单、JSON、文件上传等场景,内置条件规则与自定义响应机制。90%开发者忽略的关键技巧全解析,值得收藏

StepLens的博客 653

Verta完全指南:Laravel波斯历(Jalali)日期转换库从零入门

在开发面向伊朗、阿富汗等波斯语地区的 Laravel 应用时,最大的痛点之一就是日期:当地普遍使用**波斯历(Jalali / 伊朗历 / 夏姆斯历 Shamsi)**,而服务器和数据库默认都是公历(格里高利历)。**Verta** 正是解决这个问题的**Laravel 波斯历日期转换库**:它继承 PHP 原生 DateTime,并兼容流行的 Carbon 组件,让你用一行代码完成公历与波斯历(

gitblog_00758的博客 766

php 验证层处理,基于laravel框架的php validation 验证层

给大家分享一个轮子 form-request-validation,无耻求star。 github地址目的开发这个轮子的目的是为一些比较老旧的项目,或者一些没有请求验证层的项目可以更便捷的进行数据验证,而不需要用很多的 if 去判断,而且还能清晰的把一些基本验证和业务代码分离开来,使得代码结构更加的清晰,易于维护。安装$ composer require slpcode/form-request-...

weixin_30420027的博客 502

laravel框架总结(二)

1.try {} catch () {} 异常处理。 Laravel5将所有的自定义错误和异常处理都移到了App/Exceptions/Hander.php。 laravel框架可以在app/Exceptions/Handler.php文件中做如下处理: public function render($request, Exception $exception)     {

不忘初心,方得始终 666

Laravel5.1 Request类,处理ajax请求,返回JSON

使用ajax处理新增、修改的代码写在制器中,使得控制器代码臃肿,使用request类处理新增、请求的验证,使控制器看上去清爽简洁,以下代码修改为ajax支持的版本,后台使用的按照常规百度搜索即可。示例代码:已一个新增医生类做示例<?phpnamespace App\Http\Requests;use Illuminate\Foundation\Http\FormRequest;...

weixin_34413065的博客 1000
上一篇: 在PHP中自定义session的存储方式
下一篇: Larave Auth Token 认证使用自定义 Redis UserProvider
北海漁
博客等级 码龄10年 26粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值