Laravel 每个错误都有不同的自定义错误消息的登录表单

Laravel 每个错误都有不同的自定义错误消息的登录表单,laravel,Laravel,我们可以在resources/lang/en.php中更改默认登录错误消息: <?php return [ 'failed' => 'These credentials do not match our records.', 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', ]; 这是故意的行为,因为当电子邮件地址不存在时提供不同的错误是泄漏信息。

我们可以在resources/lang/en.php中更改默认登录错误消息:

<?php

return [
    'failed' => 'These credentials do not match our records.',
    'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',

];

这是故意的行为,因为当电子邮件地址不存在时提供不同的错误是泄漏信息。攻击者可以利用此功能查看某个人/电子邮件是否在您的站点上拥有帐户,而无需登录

但是,如果要执行此操作,可以向
LoginController

protected function validateLogin(Request $request)
{
    $this->validate($request, [
        $this->username() => 'required|string|exists:users',
        'password' => 'required|string',
    ],[
      $this->username().'.required' => 'You must provide an email address',
      'password.required' => 'You must provide a password',
    ]);
}

然后,您可以像往常一样访问blade模板中的任何其他表单验证的错误,即:
$errors->first('username')

如果有人需要,我只是发布。
您可以这样使用:

protected function validateLogin(Request $request)
{
    $this->validate($request, [
        'email' => 'required|string|exists:users',
        'password' => 'required|string',
    ],
    [
    'exists' => 'Your custom message',
    'required' => 'Your custom message',
    ]);
}
protected function validateLogin(Request $request)
{
    $message = [
    'exists' => 'Your custom message',
    'required' => 'Your custom message',
    ];
    $this->validate($request, [
        'email' => 'required|string|exists:users',
        'password' => 'required|string',
    ],
    $message);
}
甚至像这样:

protected function validateLogin(Request $request)
{
    $this->validate($request, [
        'email' => 'required|string|exists:users',
        'password' => 'required|string',
    ],
    [
    'exists' => 'Your custom message',
    'required' => 'Your custom message',
    ]);
}
protected function validateLogin(Request $request)
{
    $message = [
    'exists' => 'Your custom message',
    'required' => 'Your custom message',
    ];
    $this->validate($request, [
        'email' => 'required|string|exists:users',
        'password' => 'required|string',
    ],
    $message);
}

有很多验证规则和错误。您可以创建自己的验证规则。Thnaks,但是使用Laravel Auth在何处配置该规则?谢谢,因此如果没有规则“exists:users”,只需要将validateLogin函数添加到LoginController?与受保护的函数validateLogin(Request$Request){$this->validate($Request,[$this->username()=>'必需的|字符串|电子邮件','密码'=>'必需的|字符串',]);}。但是,在哪里为每种情况配置不同的cusom消息呢?无效电子邮件的自定义消息,以及其他表示需要该电子邮件的消息?另一个用于电子邮件和密码与系统中的任何用户都不对应。