我正在使用Laravel 5.7电子邮件验证 . 当我尝试登录时说 - Your email address is not verified
http://joxi.ru/n2YqYJaIo1XGO2我需要将此消息更改为其他语言,但无法找到要更改的位置 . 在resources / lang中 - 有验证和其他消息,但找不到这个 . 谢谢 .
我正在使用Laravel 5.7电子邮件验证 . 当我尝试登录时说 - Your email address is not verified
http://joxi.ru/n2YqYJaIo1XGO2我需要将此消息更改为其他语言,但无法找到要更改的位置 . 在resources / lang中 - 有验证和其他消息,但找不到这个 . 谢谢 .
3 回答
更好的解决方案 - 使用此安装程序
注意:尚未测试,如果有人测试这个,请告诉我它是否有效 . 它应该,但我想确定
您必须实现可以使用artisan命令创建的自定义中间件:
php artisan make:middleware EnsureEmailIsVerified
EnsureEmailIsVerified.php
您必须将内核文件中的
verified
键映射到新的中间件 .app \ Http \ Kernel.php(在底部):
原始答案
好吧,所以我想我可能已经想到了你 .
我在文件功能中使用了记事本的查找并扫描了我的Laravel项目中的所有文件:“您的电子邮件未经过验证”
它提出了一场比赛:
\vendor\laravel\framework\src\Illuminate\Auth\Middleware\EnsureEmailIsVerified.php
这是什么文件:
我是 guessing ,如果你改变这一行:
? abort(403, 'Your email address is not verified.')
对于你想要的任何错误,例如:
? abort(403, 'Please, verify your email.')
它会显示出来 . (如果你试试,请确认一下) .
这个解决方案存在一个小问题 . 由于您的
.gitignore
文件告诉git忽略供应商文件夹,因此在推送时不会将其推送到外部仓库 .您需要更改
.gitignore
文件 . 我真的知道该怎么做 . 如果有人知道将其添加为评论,我会将其添加到答案中 .Laravel更新将 also 还原此更改,因此您必须重写它,现在这个答案的顶部有一个更好的解决方案 .
在laravel应用程序“\ vendor \ laravel \ framework \ src \ Illuminate \ Auth \ Middleware \ EnsureEmailIsVerified.php”中按照此路径进行操作 . 您将在此处找到错误消息“您的电子邮件地址未经验证” .
您可以像其他人所说的那样直接覆盖文件,但是当Laravel更新时,Composer会覆盖此文件 .
您应该使用
EnsureEmailIsVerified
类的内容创建一个新的Middleware类,并更改app/Http/Kernel.php
文件中'verified'中间件的声明:您甚至可以使中止消息使用lang文件,以便将来可以更改它 .