使用自定义消息的Laravel Auth重置密码

时间:2018-07-09 16:19:37

标签: laravel

我正在使用Laravel Auth,但我希望为密码重置提供自定义错误消息。

使用默认配置时,消息如下:

  • 如果用户未填写电子邮件字段,则会显示“ validation.required”或“必填电子邮件字段”。在app.php中使用“ en”语言。
  • 如果用户使用在用户表中不存在的电子邮件填充电子邮件,则会显示“ passwords.user”或“我们找不到具有该电子邮件地址的用户”。在app.php中使用“ zh”语言。
  • 如果用户使用格式无效的电子邮件填充电子邮件,则会显示“ validation.email”或“该电子邮件必须是有效的电子邮件地址”。在app.php中使用“ zh”语言。

但是我希望有以下自定义消息:

$rules = [
    'email' => 'required|email|exists:users.email'
];

$messages = [
    'email.required' => 'The email is required.',
    'email.email' => 'The email needs to have a valid format.',
    'email.exists' => 'The email is not registered in the system.',
];


$this->validate($request, $rules, $messages);

您知道如何使用自定义消息输入重置密码吗?

1 个答案:

答案 0 :(得分:0)

ResetPasswordController使用ResetsPasswords特征,它有2种方法(rulesvalidationErrorMessages)处理验证规则及其消息。如果要更改验证及其消息,请覆盖ResetPasswordController中的两个函数。

在其中定义规则

protected function rules()
{
    return [
            'token' => 'required',
            'email' => 'required|email',
            'password' => 'required|confirmed|min:6',
    ];
}

定义您的自定义消息

protected function validationErrorMessages()
{
   return [];
}

您可以在此处查看详细信息https://laravel.com/api/5.6/Illuminate/Foundation/Auth/ResetsPasswords.html

相关问题