2016-05-17 14 views
0

Also habe ich alles versucht, mit Laravel-Lösungen, jquery, Cookies ... Nichts hat für mich gearbeitet. Der Wert, den der Benutzer ausgewählt hat, wird gespeichert. Bei der Validierung bleibt der Wert der Seite erhalten, wenn der Wert aktualisiert wird. Würde diese Frage nicht posten, wenn ich nicht alles versucht hätte, was gefunden werden könnte. Das ist meine Auswahl, alle Missionen werden in Mission.php aufgelistet und dann in @foreach gesetzt. Vielen Dank!Erinnere den ausgewählten Wert bei der Validierung/Laravel 5.2

<div class="form-group"> 

    <label for="mission">Mission:</label> 

    <select name="mission" id="mission" class="form-control" required> 

     <option disabled="disabled" selected="selected">Choose mission</option> 

     @foreach(App\Http\Missions::all() as $mission) 

      <option value="{{ $mission}}" 

        @if ($user['mission'] == $mission) selected 

        @endif>{{ $mission}} 

      </option> 

     @endforeach 

    </select> 

</div> 

MissionsController.php

public function create() 
    { 
     $mission = Mission::all()->first(); 

     return view('mission.create', compact('mission')); 
    } 

public function store(MissionRequest $request) 
    { 
     $mission= new Mission($request->all()); 

     $this->missionSlug($request, $mission); 

     Auth::user()->mission()->save($mission); 

     return redirect('/'); 
    } 
+0

-Update auch der Controller die Funktion ... –

+0

Sind Sie von $ this- validieren > Funktion im Controller überprüfen? –

+0

Ja, es ist kein Problem in der Validierung, das funktioniert gut. Mein Problem ist, dass bei der Validierung wählen Wert auf Standard gesetzt ist, und ich möchte Wert, dass Benutzer ausgewählt erinnert. – Verse

Antwort

1

gefunden Lösung. Mein Formular ist teilweise, ein Formular zum Erstellen und Aktualisieren. Wie dies funktioniert es in beiden Fällen:

@foreach(App\Http\Mission::all() as $mission) 

    @if (Input::old('mission') == $mission) 

     <option value="{{ $mission}}" selected> 

      {{ $mission}} 

     </option> 

    @else 

     <option value="{{ $mission }}" 

       @if ($user['mission'] == $mission) selected 

       @endif>{{ $mission }} 

     </option> 

    @endif 

@endforeach 
1

Ihre Lösung ist ok für das Formular erstellen, aber Sie müssen wirklich die Laravel collective Html verwenden, Formular-Builder zu verwenden, ist, dass ein Echtzeit-Retter.

Beispiel für Ihr Update-Formular, juste verwenden Form::model(), es ist magisch. und bauen Sie Ihre wählen Sie wie folgt aus:

{!! Form::select('mission', $missions) !!} 

$ Missionen so genannt würde mit alten Werten zu arbeiten:

$missions = Missions::lists('name', 'id'); 
Verwandte Themen