2016-12-30 125 views
0

我想改變重定向路徑當Registration失敗Laravel 5.3權利它重定向到前一頁,但我想改變它,我找不到在哪裏。自定義重定向路徑如果註冊失敗Laravel 5.3

這裏是RegisterController

<?php 
use RegistersUsers; 

protected $redirectTo = '/'; 

public function __construct() 
{ 
    $this->middleware('guest'); 
} 


protected function validator(array $data) 
{ 
    return Validator::make($data, [ 
     'name' => 'required|max:255|min:6', 
     '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']), 
    ]); 
} 
?> 

這裏是RegistersUsers特質

<?php 
use RedirectsUsers; 


public function showRegistrationForm() 
{ 
    return view('auth.register'); 
} 

public function register(Request $request) 
{ 
    $this->validator($request->all())->validate(); 

    event(new Registered($user = $this->create($request->all()))); 

    $this->guard()->login($user); 

    return $this->registered($request, $user) 
        ?: redirect($this->redirectPath()); 
} 

protected function guard() 
{ 
    return Auth::guard(); 
} 

protected function registered(Request $request, $user) 
{ 

} 
?> 

是否有關於如何實現這一目標的任何想法,因爲我想打個寄存器Modal主頁上,並且由於它是一種模式,用戶在再次打開Modal註冊之前無法看到錯誤,所以我想讓**失敗註冊嘗試**總是重定向到/註冊。

謝謝你幫

回答

2

覆蓋的RedirectsUsersregister功能RegisterController如下。

public function register(Request $request) { 
    $this->validator($request->all())->validate(); 

    $user = $this->create($request->all()); 

    if(empty($user)) { // Failed to register user 
     redirect('/register'); // Wherever you want to redirect 
    } 

    event(new Registered($user)); 

    $this->guard()->login($user); 

    // Success redirection - which will be attribute `$redirectTo` 
    redirect($this->redirectPath()); 
}