当前位置: 首页 > news >正文

Laravel 表单验证功能重定向判断

判断主要针对 API 请求和普通页面请求,即 API 的表单验证失败直接响应 JSON,而页面的表单验证失败正常重定向。

看网上基本上是继承 FormRequest 类来实现,其实直接修改异常处理的 Handler 类即可,非常简单。

  1. 打开 app/Exceptions/Handler.php 文件

  2. 重写 render($request, Throwable $e) 方法

     /*** @param Request   $request* @param Throwable $e** @return Response* @throws Throwable*/
    public function render($request, Throwable $e): \Symfony\Component\HttpFoundation\Response {if ($e instanceof \Illuminate\Validation\ValidationException) {if ($request->route()->getPrefix() === 'api') {// 响应 JSONreturn response()->json(['message' => current($e->errors())[0] ?? '未知错误','success' => false]);}}return parent::render($request, $e);
    }
    
  3. 注意 app/Providers/RouteServiceProvider.phpboot() 方法内 API 部分的 prefix 是否为 api。如果不是则上方判断 api 字符串的地方需要修改一下。

http://www.lryc.cn/news/427888.html

相关文章:

  • MATLAB口罩检测系统
  • LeetCode 第三十一天 2024.8.18
  • Linux驱动学习之点灯(一)
  • 从HTTP到HTTPS:SSL加密如何重塑互联网安全格局
  • QT网络编程: 实现UDP通讯设置
  • 机器学习第十一章--特征选择与稀疏学习
  • dm 到 dm 的 HS 同步部署
  • ShardingSphere、雪花算法、分布式id生成器CosID概述
  • hive学习(四)
  • UniAD_面向规划的自动驾驶
  • 《现代情报》
  • 2024年最新上榜的文件加密管理软件
  • Matplotlib库学习之scatter(模块)
  • 脑网络相似性:方法与应用
  • 【JavaEE】深入MyBatis:动态SQL操作与实战项目实现指南
  • Linux 实操-权限管理:深入了解rwx的作用
  • Linux 系统编程 --- day3
  • centos从home分区分配空间到根分区
  • 设计模式实战:即时通讯应用的设计与实现
  • 白骑士的C#教学实战项目篇 4.3 Web开发
  • 【数据分析】(交互) 延迟互信息(熵、概率密度、高斯核、带宽估计)
  • html转vue项目
  • .NET系列 定时器
  • 【Golang】火焰图空白部分是什么?
  • Web框架 --- 解析Web请求 [FromBody] [FromQuery] [FromRoute] [FromHeader]
  • Messari 摘要报告:Covalent Network(CXT)2024 Q2 品牌重塑、AI模块化数据、亚太地区扩展、代币回购计划和网络增长
  • Open3D 计算点云的面状指数
  • python下麦克风设备选择和录音
  • 云和集群有什么区别?
  • 无人机视角下的EasyCVR视频汇聚管理:构建全方位、智能化的AI视频监控网络