2016-03-15 75 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为你做到了。