全局异常处理中如何获取验证规则里返回的信息

1. 运行环境

1). 当前使用的 Laravel 版本?

laravrl 8.8

文件地址:app/Exceptions/Handler.php

render方法中用$e->getMessage()获取到的信息并不是在验证规则里的验证信息,就像下图这个,验证规则返回的是账号或密码错误,这里用$e->getMessage()获取到的是The given data was invalid。如何在render方法中获取获取验证规则返回的信息?

全局异常处理中如何获取是哪个控制器出错的

全局异常处理中如何获取是哪个控制器出错的

<?php
namespace App\Exceptions;
class Handler extends ExceptionHandler
{
    public function render($request,Throwable $e)
    {
        $msg = [
            "title" => $title,
            "报错时间"  => date("Y-m-d H:i:s"),
            "接口地址"  => $request->getUri(),
            "错误原因"  => $e->getMessage(),
            "TOKEN" => $request->header("token"),
            "参数"    => json_encode($request->input()),
        ];
        return parent::render($request,$e);
    }
}
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

根据 ValidationException 的源码可以查到, 存在errors 方法可以获取到验证错误信息,但别的异常类不一定有这个方法,所以需要先判断是不是 ValidationException 异常,然后 $e->errors()

1年前 评论
houguang (楼主) 1年前
讨论数量: 6

根据 ValidationException 的源码可以查到, 存在errors 方法可以获取到验证错误信息,但别的异常类不一定有这个方法,所以需要先判断是不是 ValidationException 异常,然后 $e->errors()

1年前 评论
houguang (楼主) 1年前

判断 属于ValidationException

1年前 评论

请问这个写法是等同于下面的写法吗?
$username = request()->input('username');
$password = request()->input('password');
file

1年前 评论
houguang (楼主) 1年前
zerocoder (作者) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!