Ahmed Essam
Ahmed Essam

Reputation: 162

Laravel 5.2 redirect if the user entered wrong Email or password

I am using Laravel 5.2 and I am using the default login controller. I know how to redirect the user if the user logged in successfully but I don't know how to redirect him if he didn't enter the email or password correctly.

Here is the controller code

class AuthController extends Controller
{


    use AuthenticatesAndRegistersUsers, ThrottlesLogins;


    protected $redirectTo = '/';


    public function __construct()
    {
        $this->middleware($this->guestMiddleware(), ['except' => 'getLogout']);
    }


    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|min:6|confirmed',
        ]);
    }


    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }
}

Where should I enter the redirect code?

Upvotes: 2

Views: 508

Answers (2)

Grzegorz Adam Kowalski
Grzegorz Adam Kowalski

Reputation: 5565

@Alexey's answer modified for Laravel 5.8, add this to app\Http\Controllers\Auth\LoginController.php:

protected function sendFailedLoginResponse(Request $request)
{
    return redirect()
      ->route('login')
      ->withInput($request->only($this->username(), 'remember'))
      ->withErrors([
          $this->username() => [trans('auth.failed')],
      ]);
}

Upvotes: 0

Alexey Mezenin
Alexey Mezenin

Reputation: 163748

You could override sendFailedLoginResponse() method in AuthController.php, like:

protected function sendFailedLoginResponse(Request $request)
{
    return redirect()->route('myCustomRoute')
        ->withInput($request->only($this->loginUsername(), 'remember'))
        ->withErrors([
            $this->loginUsername() => $this->getFailedLoginMessage(),
        ]);
}

Upvotes: 3

Related Questions