2016-12-13 4 views
1

Ich zeige die Antwort für eine Formularübergabe unter Verwendung der Flashdata, aber es bleibt für immer bestehen.Laravel Flash-Daten dauerhaft unbegrenzt

Wenn beispielsweise ein Formular erfolgreich validiert und übergeben wurde, wird die Erfolgsmeldung angezeigt und unabhängig davon, wie oft ich die Seite aktualisiere oder zu anderen Seiten gehe, wird immer noch die Erfolgsmeldung angezeigt.

Meine Redirect (nach der Validierung) ist wie folgt:

// Redirect back with success message 
return redirect()->back() 
->with('form_' . $form->identifier . '_response', json_encode([ 
    'status' => 'success' 
])); 

Und in der Ansicht überprüft es wie folgt aus:

@if(session('form_'.$form->identifier.'_response')) 

     @if(json_decode(session('form_'.$form->identifier.'_response'),true)['status'] == 'success') 

      <div class="alert alert-success">Form has been submitted, thank you!</div> 

     @endif 
@endif 

Aber es zeigt den Erfolg die ganze Zeit nach der ersten Einreichung div . Wer weiß, wo man nach dem Problem suchen sollte? Vielen Dank!

+0

Gleiches geschieht, wenn ich return redirect() -> zurück() -> withInput() 'wenn Fehler auftreten - die Eingaben sind in Sitzung, egal wie oft ich Seiten aktualisieren und navigieren. – Giedrius

Antwort

0

Ich fand heraus, es war über web Middleware in einem der Controller, dummer Fehler. Der Form-Handler-Controller hatte web Middleware enthalten, so dass es die Sitzung festlegen würde, aber der Controller, der das Formular anzeigt, hatte diese Middleware nicht, sodass die Flash-Daten nicht aus der Sitzung entfernt wurden.