Die letzten paar Tage, ich habe ein Problem. Validierung Fehler Variable kommt leer in Blade-Dateien .. Ich bin Entwicklung einer mehrsprachigen Anwendung in Laravel 5.2.45. Also gibt es die Validierungsfehlermeldungen in jedem von ihnen (resources/lang/{locale} /validation.php).Laravel 5.2 Flash-Nachrichten und Fehler plötzlich nicht funktioniert
Validierungsregeln befinden sich in einer Anforderungsdatei (z. B. ValidateUserRequest), die die Validierungsregeln enthält und die Berechtigung als wahr deklariert. Ich gebe es dann an den Controller. Balg ist meine Middleware und Teil meiner Routes-Datei.
Jede Hilfe wird viel
Kernel.php
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',
],
];
protected $routeMiddleware = [
'auth_pabl' => \App\Http\Middleware\AuthenticateBackEnd::class,
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
routes.php (alle Controller innerhalb Admin-Verzeichnis)
Route::auth();
Route::group ([
'namespace' => 'Admin'
],
function() {
Route::get ('admin/dashboard', [
'uses' => '[email protected]',
'as' => 'admin.dashboard'
]);
/*
* Authors
*/
Route::get ('admin/authors', [
'uses' => '[email protected]',
'as' => 'admin.authors'
]);
Route::post ('admin/authors', [
'uses' => '[email protected]',
'as' => 'admin.authors.store'
]);
Route::get ('admin/authors/{slug}/edit', [
'uses' => '[email protected]',
'as' => 'admin.authors.edit'
]);
Route::post ('admin/authors/{username}/edit', [
'uses' => '[email protected]',
'as' => 'admin.authors.update'
]);
Route::get ('admin/authors/{username}/delete', [
'uses' => '[email protected]',
'as' => 'admin.authors.delete'
]);
Eine Sitzung Nachricht von etwas kommen würde normalerweise geschätzt werden wie
\Session::flash('flash_contact', 'Success. Data stored');
return redirect()->route('admin.events.create');
Und es (nicht) angezeigt mit
@if($errors->count()>0) <br /> <br />
<div id="#problem" class="alert alert-danger text-pull-left">
<p>{!! trans('admin/form/placeholders.errors') !!}</p>
<ul class="errors">
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</ul>
</div>
@endif
@if(Session::has('flash_contact'))
<div id="success" class="alert alert-success text-center">
{{Session::get('flash_contact')}}
</div>
@endif
Schließlich php Handwerker Route: Liste besagt, dass die "web" Middleware vorhanden ist (ich habe es nicht zweimal manuell deklariert)
// bearbeiten 1 (mitErrors vom Controller)
Beachten Sie hier, dass keine Funktion mitErrors mir das erwartete Ergebnis geben. Unten ist ein Teil meines Controllers.
public function store(Requests\ValidateEventsRequest $request)
{
try {
return $this->dbEvent->add($request);
} catch (\Exception $e) {
return redirect()->to('/admin/events/add')->withErrors('Error
detected');
}
}
// bearbeiten 2
Sollte diese Arbeit nicht ???
Route::get('flash', function() {
return redirect()->to('flash2')->withErrors('Where are my errors?');
});
Route::get('flash2', function() {
return view('flash2');
});
Und mein flash2.blade.php
<html>
<body>
@if($errors->count()>0) <br /> <br />
<div id="#problem" class="alert alert-danger text-pull-left">
<p>{!! trans('admin/form/placeholders.errors') !!}</p>
<ul class="errors">
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</ul>
</div>
@endif
this is my flash page
</body>
</html>
Haben Sie versucht, die Fehler zu dumpen? Es gibt eine Möglichkeit, dass es keine Fehler gibt. –
@loannisKaragiannis. Ich denke, das könnte Ihre Lösung sein: https://stackoverflow.com/a/36691774/5704410 –
Leider nicht .. $ Fehler ist immer noch leer. Geschützte 'Taschen' => Array (Größe = 0) leer. Plus, Web-Middleware ist jetzt zweimal passiert, in meiner Route: Liste –