2016-07-01 4 views
2

Entnommen lrvl 5.1 Dokumentation, lese ich:

$this->validate($request, [ 
    'title' => 'required|unique:posts|max:255', 
    'author.name' => 'required', 
    'author.description' => 'required', 
]); 

Wenn die Validierung nicht passieren Controller stoppt die Ausführung und Umleitung zurück zur vorherigen Position: diese Zeilen in dem Controller.

Dies geschieht korrekt.

Dann doc sagt:

„Variable $ Fehler wird immer in alle Ihre Ansichten über jede Anfrage zur Verfügung stehen“ Und dann schlägt folgende Klinge Code:

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

aber ich werde tatsächlich bekomme eine ErrorException undefined variable errors ....

Was fehlt mir?

Dank

+5

Stellen Sie sicher, dass Ihr Code Web-Middleware verwendet. –

+0

Zeigen Sie Ihren Controller und Quellcode anzeigen. –

+0

Dies kann passieren, wenn Sie 'Laravel' 5.2 ohne Web-Middleware verwenden, verursachen Fehler Variablen speichert in Sitzung, die in Web-Middleware – xAoc

Antwort

1

ich mich auf diese Frage beantworten werde, für alle Fälle war es nicht der kommentierten Lösung klar. (Danke an train_fox für den Hinweis).

Fügen Sie einfach die Middleware "web" hinzu. die in Ihrem Routing Ziel in Form Aktion (get/post)

Beispiel:

Route::group(['middleware' => 'web'],  
     function(){ 
      Route::post('/edit'   , '[email protected]'); 
     }); 

Variable $ errors die auf Sicht wird analysiert werden.