variable errors laravel laravel-5 laravel-validation laravel-middleware laravel-5.2

errors - Variable indefinida: errores en Laravel



undefined variable errors laravel (10)

Debe asegurarse de que en la app/Http/Kernel.php en la propiedad middlewareGroups para web tenga:

/Illuminate/View/Middleware/ShareErrorsFromSession::class,

en esta matriz Compare esto con https://github.com/laravel/laravel/blob/master/app/Http/Kernel.php

EDITAR

Parece que necesita agregar ''middleware'' => ''web'' para la ruta que está utilizando o poner /Illuminate/View/Middleware/ShareErrorsFromSession::class, en la matriz de propiedades $middleware

o

Dentro del archivo routes.php intente crear sus rutas dentro del siguiente bloque

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

ACTUALIZACIÓN PARA VERSIONES MÁS NUEVAS DE APLICACIÓN LARAVEL

Tenga en cuenta que también puede tener problemas en caso de que use web middleware web dos veces. Hubo un cambio en la aplicación Laravel 5.2.27 (no lo confunda con el marco Laravel que usa en este momento; puede usar el marco Laravel por ejemplo 5.2.31 pero tiene la aplicación Laravel en la versión 5.2.24) en la que web middleware web es aplicado automáticamente para todas las rutas. Entonces, en caso de problemas, debe abrir su app/Providers/RouteServiceProvider.php y verificar su contenido.

Puedes compararlo también aquí:

En caso de que tenga una versión más nueva (que aplique web middleware web automáticamente), ya no debería usar web middleware web en routes.php o debería modificar su método RouteServiceProvider para no aplicar web middleware del grupo web . De lo contrario, si web grupo de middleware web se aplica automáticamente en este proveedor y lo usa también en routes.php , puede obtener resultados muy inesperados.

Cuando quiero registrar un usuario en mi proyecto laravel, la página siempre dice

Variable indefinida: errores (Ver: /var/www/resources/views/auth/register.blade.php) "

De acuerdo con la documentación de Laravel, $errors siempre deben establecerse automáticamente:

Por lo tanto, es importante tener en cuenta que una variable $ errors siempre estará disponible en todas sus vistas en cada solicitud, lo que le permite asumir convenientemente que la variable $ errors siempre está definida y se puede usar de forma segura.

Tengo esto en cada vista cuando uso:

@if (count($errors) > 0) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif

o de cualquier otra forma cuando quiera usar la variable $errors .

¿Por qué es esto? Nunca he tenido este problema antes.

¿Puede alguien ayudarme por favor?


En realidad no fue un error, estaba advirtiendo que puede eliminar usando la función php error_reporting ()

Eliminé la advertencia en mi laravel 5.6 usando

error_reporting (E_ALL ^ ​​E_NOTICE);

Más detalles: http://php.net/manual/en/function.error-reporting.php

Espero que te ayude, gracias


Su problema se solucionará utilizando este método.

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

Si esto no le ayuda, simplemente ejecute el siguiente comando artesanal además del código anterior:

php artisan key:generate

Resolví de esta manera mientras usaba 5.2. *


También debe tener en cuenta: si escribe pruebas y su vista tiene una variable de $ errores, asegúrese de no usar el rasgo SinMiddleware .


También estaba viendo este error y luego me di cuenta de que había usado el rasgo WithoutMiddleware como un medio para omitir la autenticación para esta prueba en particular, pero también terminó eliminando el enlace de error de validación. Así que tuve que dejar de usar el rasgo para mantener las vistas funcionando.


Tuve este mismo problema con Laravel 5.2.x.

Dentro del archivo routes.php , intente crear sus rutas dentro del

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

declaración.


Tuve un problema similar y lo resolví agregando rutas a la matriz de propiedades de middleware también,

PERO

funcionó solo después de llamar a php artisan route:cache (borrar caché de ruta) posteriormente.

Espero que algunos de ustedes encuentren esto útil.



count no es realmente confiable ya que supone que la variable ya existe. cambie la verificación de condición a: @if($errors->has()) o simplemente @if($errors)

Además, si está redirigiendo, asegúrese de usar esto en su controlador

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

EDITAR: visto ahora que está utilizando L5.2 Esto puede responder a su pregunta: debe colocar sus Rutas en el grupo Ruta.

Errores de validación de 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.

hacer que su núcleo se vea así