Я хочу отредактировать мою laravel форму входа. Основная проблема, если я ввожу данные в поля электронной почты и пароль (адрес электронной почты правильный, но пароль неверный). Я получаю сообщение об ошибке, которое указывает, что адрес электронной почты неправильный, а не пароль ... Я нашел решение, отредактируйте этот метод в AutenticatesUsers. php. От:
protected function sendFailedLoginResponse(Request $request)
{
throw ValidationException::withMessages([
$this->username() => [trans('auth.failed')],
]);
}
Кому:
protected function sendFailedLoginResponse(Request $request)
{
throw ValidationException::withMessages([
$this->username() => [trans('auth.failed')],
'password' => [trans('auth.failed_password')],
]);
}
Но теперь, если я сделаю одну ошибку, независимо от того, где я получил обе ошибки ... Как я могу это исправить? Мне нужна хорошая проверка входных данных.
Отредактировано: я перезаписываю метод sendFailedLoginResponse следующим образом:
protected function sendFailedLoginResponse(Request $request)
{
$user = User::where($this->username(), $request->{$this->username()})->first();
if(\Hash::check($request->$this->username(), $user->email)){
throw ValidationException::withMessages([
$this->username() => [trans('auth.failed')],
]);
} else{
throw ValidationException::withMessages([
'password' => [trans('auth.failed_password')],
]);
}
}
, но теперь я получаю эту ошибку: Объект класса App \ Http \ Controllers \ Auth \ LoginController не может быть преобразован в строку
PS Извините, если вопросы глупы, я новичок во всем этом Laravel и OOP вещи ...