Php Laravel 5.2如果用户输入错误的电子邮件或密码,则重定向

Php Laravel 5.2如果用户输入错误的电子邮件或密码,则重定向,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我使用的是Laravel 5.2,我使用的是默认登录控制器。 如果用户成功登录,我知道如何重定向用户,但如果用户没有正确输入电子邮件或密码,我不知道如何重定向用户 这是控制器代码 class AuthController extends Controller { use AuthenticatesAndRegistersUsers, ThrottlesLogins; protected $redirectTo = '/'; public function __

我使用的是Laravel 5.2,我使用的是默认登录控制器。 如果用户成功登录,我知道如何重定向用户,但如果用户没有正确输入电子邮件或密码,我不知道如何重定向用户

这是控制器代码

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']),
        ]);
    }
}

我应该在哪里输入重定向代码?

您可以覆盖
AuthController.php
中的
sendFailedLoginResponse()
方法,如:

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

@Alexey针对Laravel 5.8修改了答案,将其添加到
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')],
      ]);
}

我可以只使用redirect()方法,也可以只使用redirect而不使用withInput或Errors吗?当然,可以避免
withInput
withErrors