Ich habe eine neue Laravel-Installation, Version 5.2.41, und möchte Validierungsfehler auf meine Vorlage ausgeben. Ziemlich grundlegende Sachen.Validierungsfehler werden nur angezeigt, wenn keine Web-Middleware in Laravel verfügbar ist
In meinem app.blade.php
:
@if ($errors->any())
<div class="alert alert-danger">
@foreach ($errors->all() as $error)
{{ $error }}<br>
@endforeach
</div>
@endif
Meine routes.php
Datei:
Route::group(['as' => 'backend', 'middleware' => ['web', 'auth'], 'namespace' => 'Backend', 'prefix' => config('settings.admin.slug')], function() {
Route::get('/admin_users/edit/{id}', ['uses' => '[email protected]', 'as' => 'admin.users.edit']);
Route::post('/admin_users/edit/{id}', '[email protected]');
});
Wie Sie ich bin mit dem web
Middleware hier sehen können.
Wenn in dieser Konfiguration die $errors
Variable ist eingestellt, wenn es sein sollte, aber es ist nur ein leeres Array.
Wenn ich die web
Middleware entfernen, dann funktioniert alles wie es soll. Das erscheint mir sehr merkwürdig und nicht erwartetes Verhalten. Die offensichtliche Lösung ist, die web
Middleware einfach nicht zu enthalten, aber ich weiß nicht, welche Nebenwirkungen das haben könnte.
vielleicht müssen Sie den Code von Web-Middleware einfügen, damit wir sehen können, was Web-Middleware tat. –
Es ist die integrierte Web-Middleware, also gibt es keinen Code. Es sind einfach die Klassen, die in der Kernel.php enthalten sind und die mit Laravel ausgeliefert werden: https://github.com/laravel/laravel/blob/master/app/Http/Kernel.php – Mike
Standardmäßig sind alle Routen von der ' Web 'Middleware. Wenn Sie es erneut hinzufügen, werden Ihre Fehler möglicherweise behoben. Ist die andere Nacht hier reingelaufen. Führen Sie php artisan route aus: Liste mit CLI aus Ihrem Projektverzeichnis, um Ihre Routen und die Middleware zu sehen, hinter der sie sich befinden. –