2016-06-27 62 views
0

我有通過POST請求,像這樣的控制器將數據提交一個laravel形式...Laravel的withInput()和withErrors()是空

public function store() 
{ 
    $result = Validator::make(request() -> all(), $this -> rules); 

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

然而,當我重定向,訪問通過'old'輔助方法輸入數據不會返回任何內容,就像讀取$ errors中的數據一樣。

我相信會話數據正在丟失(可能是由於次要重定向?)。

我檢查過我的工匠路線文件,網絡中間件只在路線上運行一次。我也在使用數據庫會話驅動程序。

任何想法?我正在使用Laravel 5.2.39

回答

0

最近我遇到這個錯誤,我找到了解決辦法... 而不是把這個

Route::group(['middleware' => ['web']], function() { }); 
裏面你的路由

只要刪除它,它就會正常工作。它像'網絡'中間件一樣加載兩次。

0

使用 return redirect() - > back() - > withInput() - > withErrors($ result);

+0

謝謝,但我已經試過,以及...不能解決問題:( – John1984

+0

嘗試$ request-> flash();在函數返回之前 –

+0

不,也沒有解決它。我創建了一個新的laravel安裝,並測試了一個簡單的表單,它的工作正常。顯然,在我的特定項目中出現了一些問題,我會繼續探討一下,看看我是否可以把它固定下來。 – John1984

0

嘗試這種與錯誤返回後面的輸入

$validator = Validator::make($request->all(), $rules); 

if ($validator->fails()) { 
    // fails, then return false 
    return redirect()->back()->withErrors($validator->messages())->withInput($request->all()); 
} 
0

原來的問題與我的使用引導驗證的。我還需要弄清楚爲什麼,但它似乎是抹的東西......

相關問題