自定义 Laravel FormRequest 自动验证方法

Posted

技术标签:

【中文标题】自定义 Laravel FormRequest 自动验证方法【英文标题】:Customize Laravel FormRequest autorize method validation 【发布时间】:2018-02-18 07:20:03 【问题描述】:

Laravel 允许我们授权或不授权通过 authorize method 处理 FormRequest。如果请求未被授权,它将通过\Illuminate\Auth\Access\AuthorizationException 异常,并带有一条消息:

此操作未经授权。

有没有办法自定义这条消息?

看到我想自定义消息本身。 Customizing the error messages of attributes我知道有可能!

【问题讨论】:

【参考方案1】:

要更改消息,您可以将以下内容添加到您的 FormRequest 类中。

protected function failedAuthorization()

    throw new AuthorizationException('Your new message goes here.');

【讨论】:

完美,这正是我想要的。谢谢! 别忘了use Illuminate\Auth\Access\AuthorizationException;【参考方案2】:

如果您尝试自定义消息授权异常消息,则在授权控制器本身的 else 部分中使用 throw new exception

【讨论】:

以上是关于自定义 Laravel FormRequest 自动验证方法的主要内容,如果未能解决你的问题,请参考以下文章

PHPUnit env中的Laravel自定义FormRequest

如何在 Laravel 5.5 的 FormRequest 类中返回自定义响应?

Laravel 5.5 FormRequest 自定义表单请求验证类

自定义laravel表单请求验证类(FormRequest共用一个rules())

如何自定义 laravel 数组验证错误键和消息

单元测试 Laravel FormRequest