2017-09-21 1 views
0

Ich benutze Chatter-Paket für Laravel. aber wenn beim Validieren ein Fehler auftritt. Es gibt keine Fehlermeldung, die an das Blade gesendet wird. diese ist der Code:Laravel Cant pass Fehler-Validierung zu Blade

$validator = Validator::make($request->all(), [ 
     'title'    => 'required|min:5|max:255', 
     'body_content'  => 'required|min:10', 
     'chatter_category_id' => 'required', 
    ]); 

    if ($validator->fails()) { 

     return back()->withErrors($validator)->withInput(); 
    } 

Klinge:

@if (count($errors) > 0) 
    <div class="chatter-alert alert alert-danger"> 
     <div class="container"> 
      <p><strong><i class="chatter-alert-danger"></i> {{ Config::get('chatter.alert_messages.danger') }}</strong> Please fix the following errors:</p> 
      <ul> 
       @foreach ($errors->all() as $error) 
        <li>{{ $error }}</li> 
       @endforeach 
      </ul> 
     </div> 
    </div> 
@endif 

kernel:

protected $middleware = [ 
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
    \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, 

]; 

jedes Mal, Ich versuche, die $ Fehler in der Klinge zu dd, gibt es immer leer Tasche.
Hinweis: jede Validierung funktioniert gut, aber nicht diese

+0

Haben Sie Eingaben zurück? –

+0

nein, die Eingabe zeigt auch nicht –

+0

Versuchen Sie 'dd (Session :: all());' auf 'Vendor/Laravel' in dieser Zeile https://github.com/laravel/framework/blob/5.5/src/Illuminate /Http/RedirectResponse.php#L144 –

Antwort

0

versuchen Sie diesen einen Kumpel.

Controller

$this->validate(
      $request, 
      [ 
       'title'    => 'required|min:5|max:255', 
       'body_content'  => 'required|min:10', 
       'chatter_category_id' => 'required', 
      ] 
     ); 

wenn Validate ist es nicht automatisch wieder in der ursprünglichen Ansicht zurückzukehren.

Ansicht

@if (count($errors) > 0) 
    <div class="chatter-alert alert alert-danger"> 
     <div class="container"> 
      <p><strong><i class="chatter-alert-danger"></i> {{ Config::get('chatter.alert_messages.danger') }}</strong> Please fix the following errors:</p> 
      <ul> 
       @foreach ($errors->all() as $error) 
        <li>{{ $error }}</li> 
       @endforeach 
      </ul> 
     </div> 
    </div> 
@endif 
+0

Es gibt keinen solchen Unterschied zwischen beiden, keiner von beiden darf nicht funktionieren oder beide müssen funktionieren ... –

+0

Ich denke es gibt einen Konflikt in deiner Middleware. versuche es zu debuggen. – Kenneth

1

Kommentar this out

// \Illuminate\Session\Middleware\StartSession::class, 

Und stellen Sie sicher, dass Sie eine Web-Middleware in die Routenberechnung haben.

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