2016-12-30 2 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, я хочу сделать попытки ** Failed Registration ** всегда перенаправлять/регистрировать.

Благодарим Вас за помощь

ответ

2

Override функция 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()); 
} 
Смежные вопросы