2016-03-08 2 views
0

у меня была проблема с редким TokenMismatchExceptions поэтому я решил добавитьLaravel 5,1 перенаправлять withErrors() пустой ввиду

if($e instanceof TokenMismatchException) 
{ 
    return \Redirect::to('auth/login')->withErrors(['Seems like you may have waited to long to use this application. Please refresh and try again.']); 
} 

в приложении/исключение/файл handler.php в функции render.

Я попробовал несколько различных способов перенаправления, и в представлении никогда не отображаются ошибки. В представлении будут отображаться ошибки, если у меня есть некорректная информация для входа.

Если я убью скрипт и дамп сеанса, я вижу ошибки, но если я сброшу сеанс в представлении, объект ошибок пуст.

Посмотреть

@if (isset($errors) && count($errors) > 0) 
    <div class="alert alert-danger"> 
     <ul> 
      @foreach ($errors->all() as $error) 
       <li>{{ $error }}</li> 
      @endforeach 
     </ul> 
    </div> 
@endif 

Маршрут

Route::get('auth/login', 'Auth\[email protected]'); 
Route::post('auth/login', 'Auth\[email protected]'); 
Route::get('auth/logout', 'Auth\[email protected]'); 

/** 
* Need to be logged in to access all of these routes. 
*/ 
Route::group(['middleware' => 'auth'], function(){ 
    Route::get('/', function() { 
     return Redirect::to('/home'); 
    }); 
}); 

Laravel 5,1

+0

изменить '{{$ error}}' '' {!! $ error !!} ' – aldrin27

+0

Я сбросил переменную в представлении и пуст – Ethan22

+0

Это в вашем представлении' var_dump ($ errors) '? – aldrin27

ответ

0

Попробуйте это:

return redirect('auth/login')->with('errors', ['Seems like you may have waited to long to use this application. Please refresh and try again.']); 

И тогда, на ваш взгляд:

@if (session('errors')) 
    <div class="alert alert-danger"> 
     <ul> 
      @foreach (session('errors') as $error) 
       <li>{{ $error }}</li> 
      @endforeach 
     </ul> 
    </div> 
@endif 
+0

Ничего. 'var_dump (Session: all())' все еще показывает только _token – Ethan22

Смежные вопросы