Я использую Laravel 5.4 и хочу обработать сообщение об ошибке входа в систему. Но я хочу сделать это немного более индивидуальным. Я хочу показать специальные ошибки, такие как (имя пользователя не найдено) или (неверный пароль).
Что я могу сделать? (Я сделал это, и он работает, проверьте мой новый неудачный метод входа, это правильно и стандартно?)
Ошибка входа в систему:
protected function sendFailedLoginResponse(Request $request)
{
$errors = [$this->username() => trans('auth.failed')];
if ($request->expectsJson()) {
return response()->json($errors, 422);
}
return redirect()->back()
->withInput($request->only($this->username(), 'remember'))
->withErrors($errors);
}
в моем клинке:
@if ($errors->first('phone'))
<ul>
@foreach($errors->all() as $error)
<li>{{ $errors->first('phone') }}</li>
@endforeach
</ul>
@endif
мой новый неудачный метод:
if (!User::where('phone', $request->phone)->first()){
return redirect()->back()
->withInput($request->only($this->username(), 'remember'))
->withErrors([
$this->username() => 'user not found',
]);
}if (!User::where('phone', $request->phone)->where('password', bcrypt($request->password))->first()){
return redirect()->back()
->withInput($request->only($this->username(), 'remember'))
->withErrors([
'password' => 'password is incorrect',
]);
}
Вы можете изменить стандартные сообщения проверки подлинности в файлах ресурсов> lang> en> passwords.php или auth.php
Других решений пока нет …