我们可以在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.',
];
但是在登录表单中,如果用户输入了无效的电子邮件,或者不填写电子邮件字段和密码,或者其他任何情况都可能导致错误,则消息始终是相同的:“这些凭据与我们的记录。'
您知道如何针对不同的错误情况使用不同的自定义消息吗?就像如果电子邮件字段是必填字段且未填写一样,该电子邮件格式是否无效或该电子邮件未在系统中注册?
例如,规则如下:
$rules = [
'email' => 'required|email|exists:users.email'
];
$customMessages = [
'email.required' => 'The email field is mandatory.',
'email.email' => 'Introduced email doesnt have a valid format.',
'email.exists' => 'Introduced email is not registered in the system.',
];
$this->validate($request, $rules, $customMessages);
答案 0 :(得分:1)
这是故意的行为,因为当电子邮件地址不存在时提供另一个错误是信息泄漏。攻击者可以使用它来查看某个人/电子邮件是否在您的站点上拥有一个帐户,而无需登录。
但是,如果要执行此操作,可以将功能添加到rate-limiting
LoginController
然后,您可以像平常一样访问错误,以在刀片模板IE: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',
]);
}
答案 1 :(得分:0)
我只是在发布是否有人需要的内容。
您可以这样使用:
a = (a.pivot_table(index='Date',columns='Trader',values='EUR')
.rename_axis(None, axis=1)
.reset_index())
甚至是这样:
protected function validateLogin(Request $request)
{
$this->validate($request, [
'email' => 'required|string|exists:users',
'password' => 'required|string',
],
[
'exists' => 'Your custom message',
'required' => 'Your custom message',
]);
}