2016-08-31 30 views
1

我正在使用Laravel 5.2我正在使用默認的登錄控制器。 我知道如何重定向用戶,如果用戶登錄成功,但我不知道如何重定向他,如果他沒有正確輸入電子郵件或密碼。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']), 
     ]); 
    } 
} 

我應該在哪裏輸入重定向代碼?

回答

2

你可以在AuthController.php覆蓋sendFailedLoginResponse()方法,如:

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

我可以使用redirect()方法,並僅在不使用withInput或錯誤重定向? –

+0

當然,你可以避免'withInput'和'withErrors'。 –

相關問題