You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何全局修改Laravel的验证错误提示信息?

全局配置通用验证错误消息的方法

当然可以全局修改required这类通用验证规则的错误消息,彻底避免在每个请求类里重复编写相同内容,下面是两种常用方案:

1. 修改语言文件(推荐)

Laravel 默认通过语言文件管理验证消息,步骤如下:

  • 找到项目根目录下的 resources/lang 文件夹,如果没有中文语言包,先复制 en 目录并重命名为 zh-CN;
  • 打开 resources/lang/zh-CN/validation.php 文件;
  • 在 rules 数组中找到对应规则(比如required),修改其值为你想要的全局消息:
'rules' => [
    // ...其他规则
    'required' => ':attribute 为必填项。',
    // ...其他规则
],
  • 如果你想把字段名(比如title、body)替换成中文,还可以在同一个文件的attributes数组里配置:
'attributes' => [
    'title' => '标题',
    'body' => '内容',
],

这样当title字段触发required验证时,错误消息就会自动变成「标题为必填项。」,无需在请求类里单独设置。

2. 通过服务提供者自定义验证器

如果需要更灵活的逻辑(比如根据不同场景动态调整消息),可以在App\Providers\AppServiceProvider的boot方法里全局注册验证消息替换器:

use Illuminate\Support\Facades\Validator;

public function boot()
{
    // 全局替换required规则的错误消息
    Validator::replacer('required', function ($message, $attribute, $rule, $parameters) {
        // 这里可以添加自定义逻辑,比如根据属性名动态生成消息
        return "{$attribute} 不能为空,请填写";
    });
}

内容的提问来源于stack exchange,提问作者Melly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 14:35:21