Неопределенная переменная: ошибки в Laravel

Когда я хочу зарегистрировать пользователя в моем проекте laravel, страница всегда говорит

Неопределенная переменная: ошибки (View: /var/www/resources/views/auth/register.blade.php) ”

Согласно документации Laravel, всегда должны автоматически устанавливаться $errors :

Поэтому важно отметить, что переменная $ errors всегда будет доступна во всех ваших представлениях по каждому запросу, что позволяет удобно считать переменную $ errors всегда определяемой и ее можно безопасно использовать.

У меня есть это на каждой точке зрения, когда я использую:

 @if (count($errors) > 0) 
    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach
@endif

или любым другим способом, когда я хочу использовать переменную $errors .

Почему это? Раньше у меня никогда не было этой проблемы.

Может кто-то мне помочь, пожалуйста?

    9 Solutions collect form web for “Неопределенная переменная: ошибки в Laravel”

    Вы должны убедиться, что в app/Http/Kernel.php в свойстве middlewareGroups для web вас есть:

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

    в этом массиве. Сравните это с https://github.com/laravel/laravel/blob/master/app/Http/Kernel.php

    РЕДАКТИРОВАТЬ

    Кажется, вам нужно добавить 'middleware' => 'web' для используемого вами маршрута или поместить \Illuminate\View\Middleware\ShareErrorsFromSession::class, в массив свойств $middleware

    или

    Внутри файла routes.php попытайтесь создать свои маршруты в следующем блоке

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

    ОБНОВЛЕНИЕ ДЛЯ НОВЫХ ВЕРСИЙ ПРИМЕНЕНИЯ ЛАВАВЕЛ

    Имейте в виду, что вы можете столкнуться с проблемами и в случае, если вы дважды используете web промежуточное программное обеспечение. В приложении Laravel 5.2.27 было внесено изменение (не путайте его с базой Laravel, которую вы используете в данный момент), вы можете использовать структуру Laravel, например 5.2.31, но иметь приложение Laravel в версии 5.2.24), в котором промежуточное программное обеспечение web автоматически применяется для всех маршрутов. Поэтому в случае возникновения проблем вы должны открыть файл app/Providers/RouteServiceProvider.php и проверить его содержимое.

    Вы можете сравнить его и здесь:

    • RouteServiceProvider для приложения Laravel 5.2.24

    • RouteServiceProvider для приложения Laravel 5.2.27

    Если у вас более новая версия (которая автоматически применяется к web промежуточному программному обеспечению), вам больше не следует использовать web промежуточное программное обеспечение в routes.php , или вы должны изменить метод RouteServiceProvider чтобы не применять промежуточное программное обеспечение для web групп. В противном случае, если группа routes.php промежуточного программного обеспечения автоматически применяется в этом провайдере, и вы используете ее также в routes.php вы можете получить очень неожиданные результаты.

    У меня была такая же проблема с Laravel 5.2.x.

    Внутри файла routes.php попытайтесь создать маршруты в пределах

     Route::group(['middleware' => ['web']], function () { //routes here } 

    заявление.

    У меня была аналогичная проблема, и я решил эту проблему, добавив маршруты в массив свойств промежуточного слоя,

    НО

    он работал только после вызова php artisan route:cache (очистка кэша маршрутов) в дальнейшем.

    Я надеюсь, что некоторые из вас посчитают это полезным.

    Я тоже видел эту ошибку, и позже понял, что использовал свойство WithoutMiddleware как средство обхода аутентификации для этого конкретного теста, но в итоге он также удалил привязку ошибок проверки. Поэтому мне пришлось перестать использовать эту черту, чтобы сохранить взгляды.

    Перейдите в файл App \ Http \ Kernel.php . Переместите все свойства $middleware .

    Проверьте подробнее – http://www.tisuchi.com/laravel-5-2-undefined-variable-error-validation/

    Также, чтобы быть в курсе: если вы пишете тесты, а ваш вид имеет переменную $ errors, убедитесь, что вы не используете черту безMiddleware .

    count не является реально осуществимым, так как он предполагает, что переменная уже существует. измените условие на: @if($errors->has()) или просто @if($errors)

    Также, если вы перенаправляете, обязательно используйте это в своем controllerе

     return redirect()->back()->with('errors', $validator->messages()); 

    EDIT: теперь видно, что вы используете L5.2. Это может ответить на ваш вопрос – вам нужно поместить свои маршруты в группу маршрутов.

    Ошибки проверки Laravel 5.2

     protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \Social\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \Social\Http\Middleware\VerifyCsrfToken::class, ]; /** * The application's route middleware groups. * * @var array */ protected $middlewareGroups = [ 'web' => [ ], 'api' => [ 'throttle:60,1', ], ]; /** * The application's route middleware. * * These middleware may be assigned to groups or used individually. 

    сделайте свое kernel ​​похожим на это

    Это была не ошибка, это предупреждение, которое вы можете удалить с помощью функции php error_reporting ()

    Я удалил предупреждение в своем laravel 5.6, используя

    error_reporting (E_ALL ^ ​​E_NOTICE);

    Подробнее: http://php.net/manual/en/function.error-reporting.php

    Надеюсь, это поможет вам, спасибо

    Interesting Posts

    Патч Windows 10-UxStyle работает неправильно

    Как правильно реализовать пользовательские iteratorы и const_iterators?

    Увеличьте клиентский предел Wi-Fi Huawei EC5805

    .Net HttpWebRequest.GetResponse () вызывает исключение, когда возвращается код состояния http 400 (неудачный запрос)

    Что такое команда Linux, чтобы узнать информацию об оборудовании?

    Добавление единицы в число в Sass

    Попытка добиться более высокой скорости передачи файлов в моей домашней сети

    16GB Ram – заставить Windows 7 использовать как можно больше ОЗУ?

    Как перемещать файлы с помощью команд FTP

    «Растровое изображение слишком велико, чтобы быть загруженным в текстуру»

    Как читать значения из файла свойств?

    Программное обеспечение для написания и управления математическими уравнениями

    Как я могу программно определить, как поместить меньшие поля в более крупный пакет?

    Как использовать servlets и Ajax?

    Как реализовать заголовок «Access-Control-Allow-Origin» в asp.net

    Давайте будем гением компьютера.