2016-03-15 70 views
0

我正在嘗試在Bitnami WAMP上安裝新的Laravel 5.2安裝的驗證工作,並且沒有運氣。我已經嘗試了在其他地方提供的Laravel 5.2 $errors not appearing in Blade這兩個建議,並且從甚至還沒有開始使用驗證的頁面返回以下錯誤。尋求幫助獲取表單驗證在Laravel 5.2中工作

當我試圖把我的工作路線(應用程序/ HTTP/routes.php文件)上Route::group(['middleware' => ['web']],函數(){...等等如下:

protected $middleware = [ 
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
    \Illuminate\View\Middleware\ShareErrorsFromSession::class, 
]; 

我收到以下錯誤messegaes:

+ RuntimeException in Request.php line 852: Session store not set on request. 
+ in Request.php line 852 at Request->session() 
+ in ShareErrorsFromSession.php line 42 
+ at ShareErrorsFromSession->handle(object(Request), object(Closure)) 
+ at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 
+ at Pipeline->Illuminate\Pipeline{closure}(object(Request)) at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
+ at Pipeline->Illuminate\Routing{closure}(object(Request)) in CheckForMaintenanceMode.php line 44 
+ at CheckForMaintenanceMode->handle(object(Request), object(Closure)) 
+ at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 
+ at Pipeline->Illuminate\Pipeline{closure}(object(Request)) at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
+ at Pipeline->Illuminate\Routing{closure}(object(Request)) at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 
+ at Pipeline->then(object(Closure)) in Kernel.php line 132 
+ at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99 
+ at Kernel->handle(object(Request)) in index.php line 54 

,當我試圖在保護$middleware = []移動我的保護$ middlewareGroups網絡(應用程序/ HTTP/Kernel.php),具體如下:

Route::group(['middleware' => 'web'], function() { 
    Route::resource('country', 'Region\CountryController'); 
}); 

我得到的錯誤信息:

+ RuntimeException in EncryptionServiceProvider.php line 31: No supported encrypter found. The cipher and/or key length are invalid. 
+ in EncryptionServiceProvider.php line 31 
+ at EncryptionServiceProvider->Illuminate\Encryption{closure}(object(Application), array()) in Container.php line 735 
+ at Container->build(object(Closure), array()) in Container.php line 633 at Container->make('encrypter', array()) in Application.php line 674 
+ at Application->make('Illuminate\Contracts\Encryption\Encrypter') in Container.php line 853 
+ at Container->resolveClass(object(ReflectionParameter)) in Container.php line 808 
+ at Container->getDependencies(array(object(ReflectionParameter)), array()) in Container.php line 779 
+ at Container->build('App\Http\Middleware\EncryptCookies', array()) in Container.php line 633 
+ at Container->make('App\Http\Middleware\EncryptCookies', array()) in Application.php line 674 
+ at Application->make('App\Http\Middleware\EncryptCookies') in Pipeline.php line 123 
+ at Pipeline->Illuminate\Pipeline{closure}(object(Request)) 
+ at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
+ at Pipeline->Illuminate\Routing{closure}(object(Request)) 
+ at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 
+ at Pipeline->then(object(Closure)) in Router.php line 726 
+ at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 699 
+ at Router->dispatchToRoute(object(Request)) in Router.php line 675 
+ at Router->dispatch(object(Request)) in Kernel.php line 246 
+ at Kernel->Illuminate\Foundation\Http{closure}(object(Request)) 
+ at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52 
+ at Pipeline->Illuminate\Routing{closure}(object(Request)) in CheckForMaintenanceMode.php line 44 
+ at CheckForMaintenanceMode->handle(object(Request), object(Closure)) 
+ at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 
+ at Pipeline->Illuminate\Pipeline{closure}(object(Request)) 
+ at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
+ at Pipeline->Illuminate\Routing{closure}(object(Request)) 
+ at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 
+ at Pipeline->then(object(Closure)) in Kernel.php line 132 
+ at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99 
+ at Kernel->handle(object(Request)) in index.php line 54 

這些錯誤提出了一個網頁,甚至不要求驗證還沒有上。

當我嘗試在存儲方法更新後重定向到的刀片模板上獲得$錯誤時,$錯誤也未定義。

任何幫助都是值得歡迎的,因爲我一直試圖在新的Laravel 5.2安裝中解決這個問題好幾天。

謝謝

+0

你是否在你的'.env'文件中生成了一個隨機的'APP_KEY'? – alepeino

+0

還沒有。我現在會嘗試。 –

+0

亞歷杭德羅謝謝!!!!!儘管更改kernel.php文件仍然給了我完全相同的結果,但在路由文件中使用中間件包裝器的第二種方法確實有效。 如果您有任何附加說明爲什麼生成隨機APP_KEY受影響的驗證,我想知道更多關於爲什麼工作。無論如何,謝謝你! –

回答

1

在你的路由定義(在這裏張貼作爲一個正式的答案)

你提到的第二個方法是更方便,應用中間件(或中間件團體,web是)。

web組包括與會話和加密相關的中間件。 Laravel使用值APP_KEY來加密所有會話數據,並將表單輸入和驗證錯誤存儲在會話中。

在會話訪問期間的某個時刻,Laravel會嘗試創建en Encrypter對象,如果應用程序密鑰的長度不是32個字符,則會失敗。我剛剛發現閱讀源代碼,但您只需要知道,當您執行應用程序的初始配置時,.env文件應該有一個32長的隨機字符串,如APP_KEY。 Artisan命令key:generate爲你做到了。