2016-03-15 86 views
1

我目前正在努力解决Laravel问题,我无法解决问题。如果我使用withErrors()传递错误,则错误不会传递到错误包($ errors)。Laravel 5.2:with重定向不起作用的错误

我控制器(的FormController):

public function contact(Request $request) { 

     $validator = Validator::make($request->all(), [ 
      'name' => 'required', 
      'email' => 'required|email', 
      'message' => 'required', 
     ]); 

     if ($validator->fails()) { 
      return redirect()->back()->withErrors($validator)->withInput($request->all()); 
     } 

     return redirect()->back(); 
    } 

的事情是,也withInput()不工作。问题从哪里来?我感谢您的帮助!

(的一部分)的定义routes.php文件:

Route::group(['middleware' => 'web'], function(){ 
    Route::post('/contact', '[email protected]'); 
}); 

会话配置

return [ 
    'driver' => env('SESSION_DRIVER', 'memcached'), 
    'lifetime' => 120, 
    'expire_on_close' => false, 
    'encrypt' => false, 
    'files' => storage_path('framework/sessions'), 
    'connection' => null, 
    'table' => 'sessions', 
    'lottery' => [2, 100], 
    'cookie' => 'session', 
    'path' => '/', 
    'domain' => null, 
    'secure' => false, 

]; 
+0

会话是否适合你? – matiit

+0

尝试重定向路线或网址,而不是返回 –

+0

@matiit会话正在处理网站的其他部分。当我检查POST联系()与调试栏时,“错误”出现在具有正确错误的会话中。 –

回答

0

在Laravel 5.2,您需要使用您的路由web中间件传递错误的观点。

Route::group(['middleware' => ['web']], function() { 
    Route::get('/', function() { 
     return view('welcome'); 
    }); 
}); 
+0

感谢您的帮助,不幸的是我已经使用'web'中间件组...我在中间件组之间交换会话时听到了问题,但我只使用'web'中间件组。 –

0

千万不要错过任何东西到withInput

if ($validator->fails()) { 
     return redirect()->back()->withErrors($validator)->withInput(); 
} 

并使用旧的功能得到闪蒸数据

$name = $request->old('name'); 

{{old('name')}} 

希望它可以帮助

+0

我试过了,但没有任何运气......我认为这是一个会话问题,但会议按预期工作。 –

+0

你可以展示你的表格吗? – oseintow