当前位置:  开发笔记 > 编程语言 > 正文

Laravel 5.2 $错误没有出现在Blade中

如何解决《Laravel5.2$错误没有出现在Blade中》经验,为你挑选了6个好方法。

所以我跟随Laravel 5基础知识教程,我坚持表单验证.我完全按照教程进行了操作,但是我得到了一个未定义的变量:我的创建文章视图中的错误.

在我正在关注的教程和我在网上找到的内容中他们说错误变量总是在刀片文件中供你使用所以我不知道我做错了什么?

任何帮助,将不胜感激!喜欢Laravel除了这个错误!

View
    @if($errors->any())
      
    @foreach($errors->any() as $error)
  • {{$error}}
  • @endforeach
@endif

调节器

all());
      return 'the user has been registered!';
      return view('user.profile');
    }

}

请求验证

 'required',
            'email' => 'required|email',
            'country' => 'required',
            'password' => 'required|min:6',
            'confirm_password' => 'required|same:password',
            'height' => 'required',
            'weight' => 'required',
        ];
    }
}

user1669496.. 41

这是5.2升级的一个突破性问题.正在发生的是中间件,它负责使errors所有视图可用的变量未被利用,因为它已从全局中间件转移到web中间件组.

有两种方法可以解决这个问题:

    在您的kernel.php文件中,您可以将中间件\Illuminate\View\Middleware\ShareErrorsFromSession::class移回protected $middleware属性.

    您可以使用路由组包装所有Web路由并将web中间件应用于它们.

    Route::group(['middleware' => 'web'], function() {
        // Place all your web routes here...
    });
    


小智.. 23

解决了

您可以更改以下任何一项:

1.把你的工作路线(app/http/routes.php)

Route::group(['middleware' => ['web']], function () { // Here like Route::get('/', 'TodoController@index'); Route::post('/', 'TodoController@store'); });

截图 -

Screendshot 1

2.将您的protected $middlewareGroups web (app/Http/Kernel.php)protected $middleware = []

截图 -

screenshot2



1> user1669496..:

这是5.2升级的一个突破性问题.正在发生的是中间件,它负责使errors所有视图可用的变量未被利用,因为它已从全局中间件转移到web中间件组.

有两种方法可以解决这个问题:

    在您的kernel.php文件中,您可以将中间件\Illuminate\View\Middleware\ShareErrorsFromSession::class移回protected $middleware属性.

    您可以使用路由组包装所有Web路由并将web中间件应用于它们.

    Route::group(['middleware' => 'web'], function() {
        // Place all your web routes here...
    });
    



2> 小智..:

解决了

您可以更改以下任何一项:

1.把你的工作路线(app/http/routes.php)

Route::group(['middleware' => ['web']], function () { // Here like Route::get('/', 'TodoController@index'); Route::post('/', 'TodoController@store'); });

截图 -

Screendshot 1

2.将您的protected $middlewareGroups web (app/Http/Kernel.php)protected $middleware = []

截图 -

screenshot2



3> 小智..:

简单来说,你必须搬家:

\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,

protected $middlewareGroupsprotected $middleware



4> 小智..:

这是解决方案:

使用中间件更改路由组的定义,来自:

Route::group(['middleware' => 'web'], function () {

Route::group(['middlewareGroups' => 'web'], function () {

资料来源:https://github.com/laravel/framework/issues/13000



5> Atiqur..:

    只是删除, 'middleware' => 'web'Route::group(array('prefix' => 'user', 'middleware' => 'web'), function()routes.php文件页面或

    移动

    \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class,

protected $middlewareGroupsprotected $middlewarekernel.php

正如Laravel文档所说:

注意:如果您的Laravel副本具有已包含Web中间件组中的默认路由文件的RouteServiceProvider,则无需手动将该组添加到routes.php文件中.

因此从routes.php文件中删除将是正确的方法.



6> Sambhav Pand..:

发布此信息可能对其他人有用,

作为Smartrahat在第一个解决方案,在你提到的Kernel.php文件(app/Http/Kernel.php)移动\Illuminate\View\Middleware\ShareErrorsFromSession::class$middlewareGroupsprotected $middleware财产,但同样会开始引发错误"会话存储不设置要求",

要解决这一举动 \Illuminate\Session\Middleware\StartSession::class,$middleware property为好.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有