0
我有一個全局中間件,用於檢查應用程序是否處於開發模式,如果是,則返回登錄表單視圖,此視圖驗證登錄,然後使用errors變量顯示任何驗證錯誤:
應用程序\ HTTP \內核在我看來
/**
* The application's global HTTP middleware stack.
*
* @var array
*/
protected $middleware = [
\App\Http\Middleware\CheckForDevelopmentMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];
$錯誤變量
{!! $errors->first('email', '<span class="help-block">:message</span>') !!}
這Laravel 5.2偉大的工作,但瓦特當我更新到L5.4會話並且錯誤共享在網絡中間件組中被實例化時,所以現在在L5.4中,我的全局中間件中沒有訪問會話。
/**
* 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,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
如何在全局中間件中手動實例化新會話,以便我可以使用$ errors變量進行驗證?
如何檢查,如果擺在首位$錯誤 - 存在錯誤>的(「郵件」) – Paudel
@Paudel我已經用'$錯誤 - ()'檢查該>首先,問題是默認情況下,laravel在所有視圖中包含的$ errors變量在我的全局中間件中不可用,因爲laravel啓動會話並在Web中間件組中共享錯誤變量。 – enriqg9
你的路線是怎樣的? –