Php Laravel 5.2验证程序在';网络';中间件

Php Laravel 5.2验证程序在';网络';中间件,php,session,laravel-5.2,Php,Session,Laravel 5.2,验证错误未存储在my Laravel 5.2应用程序中(新安装,未升级)。此外,$old('value')在验证失败后不保留值 我的所有路由都包含在web中间件中,我还尝试将web中间件内容移动到Kernel.php中的全局$middleware变量中 namespace App\Http; use Illuminate\Foundation\Http\Kernel as HttpKernel; class Kernel extends HttpKernel { protected $mi

验证错误未存储在my Laravel 5.2应用程序中(新安装,未升级)。此外,
$old('value')
在验证失败后不保留值

我的所有路由都包含在
web
中间件中,我还尝试将web中间件内容移动到
Kernel.php
中的全局
$middleware
变量中

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{

protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \App\Http\Middleware\EncryptCookies::class,
    \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
    \Illuminate\Session\Middleware\StartSession::class,
    \Illuminate\View\Middleware\ShareErrorsFromSession::class,
    \App\Http\Middleware\VerifyCsrfToken::class,
];

/**
 * The application's route middleware groups.
 *
 * @var array
 */
protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
    ],

    'api' => [
        'throttle:60,1',
    ],
];

/**
 * The application's route middleware.
 *
 * These middleware may be assigned to groups or used individually.
 *
 * @var array
 */
protected $routeMiddleware = [
    'staff' => \App\Http\Middleware\Staff::class,
    'auth' => \App\Http\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
}
我还尝试在artisan中清除路由缓存,并在控制器顶部包含
use illumb\Foundation\Validation\ValidationException
,以查看是否可以使其正常工作。似乎验证正在处理中,只是没有将其存储在会话中/引发异常。我之所以这样说,是因为
Session::flash
也不是以同样的方式工作,而且用户记忆我的功能似乎没有像cookie所说的那样存储,因为我需要在大约6小时后重新登录

路线设置(我有“常规”公共路线和员工路线:

Route::group(['middleware' => ['web']], function () {
// Basic Route...
 $this->get('/', 'PublicController@index');

 // Staff Route...
  Route::group(['middleware' => 'staff'], function () {
  $this->get('/staffpanel', 'Staff\StaffController@showStaffPanel');
 });
});
Kernel.php
namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{

protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \App\Http\Middleware\EncryptCookies::class,
    \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
    \Illuminate\Session\Middleware\StartSession::class,
    \Illuminate\View\Middleware\ShareErrorsFromSession::class,
    \App\Http\Middleware\VerifyCsrfToken::class,
];

/**
 * The application's route middleware groups.
 *
 * @var array
 */
protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
    ],

    'api' => [
        'throttle:60,1',
    ],
];

/**
 * The application's route middleware.
 *
 * These middleware may be assigned to groups or used individually.
 *
 * @var array
 */
protected $routeMiddleware = [
    'staff' => \App\Http\Middleware\Staff::class,
    'auth' => \App\Http\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
}
验证代码段:

protected function validatorMakeCategory(array $data) {
  return Validator::make($data, [
    'name'           => 'required|max:50|unique:categories',
    'description'    => 'max:255',
  ]);
}

public function postCreateCategory(Request $request) {
  $validator = $this->validatorMakeCategory($request->all());

  if ($validator->fails()) {
    $this->throwValidationException(
      $request, $validator
    );
  }
}
视图中的错误/会话(均未显示):

@if(会话::has('message'))

{{Session::get('message')}

@恩迪夫 @如果(计数($errors)>0)
    @foreach($errors->all()作为$error)
  • {{$error}}
  • @endforeach
@恩迪夫
我也遇到了同样的问题,我解决了在受保护的
$Middleware
中删除
\App\Http\Middleware\VerifyCsrfToken::class
,并从
路由::组中删除路由(['Middleware'=>['web']]
,函数()但是我不知道这以后是否会有任何问题。

您是否使用文件夹类型为
nfs
的Homestead,并使用
文件作为缓存和会话的驱动程序?