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

Laravel+Breeze项目错误消息显示异常求助:认证失败仅显示auth.failed

解决Laravel Breeze认证错误消息显示为auth.failed的问题

首先明确:Breeze并没有单独生成自定义错误消息数组,它直接使用Laravel自带的本地化语言文件管理提示文本。出现auth.failed而非中文提示,大概率是本地化配置或语言文件出了问题,和邮件验证功能关联不大,但也可以排查是否修改了相关配置。

步骤1:检查本地化配置

打开项目根目录的.env文件,确认APP_LOCALE的值为zh-CN(简体中文环境):

APP_LOCALE=zh-CN

如果之前是中文,添加邮件验证后误改为en,就会导致提示显示英文键名。

步骤2:确认中文语言文件存在

Laravel语言文件存放在resources/lang/目录下,检查是否存在zh-CN文件夹,且内部有auth.php文件。如果没有:

  1. 复制resources/lang/en/auth.php文件到resources/lang/zh-CN/目录
  2. 修改zh-CN/auth.php里的failed键值为目标中文提示:
<?php

return [
    'failed' => '您提供的邮箱或密码不匹配。',
    'password' => '提供的密码不正确。',
    'throttle' => '登录尝试次数过多,请在 :seconds 秒后重试。',
];

步骤3:排查邮件验证相关配置干扰

如果上述步骤未解决问题,检查添加邮件验证时是否修改了以下内容:

  • 是否在config/app.php中修改了locale配置,覆盖了.env的设置
  • 是否在登录控制器(app/Http/Controllers/Auth/AuthenticatedSessionController.php)的store方法中,错误修改了认证失败的提示逻辑,比如把__('auth.failed')改成了直接输出字符串键名

验证修复

修改完成后,清除配置缓存(可选但推荐):

php artisan config:clear

重新尝试登录失败场景,即可正常显示中文提示。

内容的提问来源于stack exchange,提问作者Emilien Charpié

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 22:31:01