2016-07-19 3 views
2

Ich schreibe die Logik für ein Bearbeitungsformular und einige Komplikationen bei der Anzeige von Daten in den Eingaben.Was ist die beste Vorgehensweise, um beim Bearbeiten eines Formulars in Laravel alte Werte anzuzeigen?

Wenn ich die Form initally zeigen, zeige ich die Aufzeichnungen Werte wie:

value="{{$dog->title}}" 

Dann, wenn das Formular nicht die Validierung nicht passieren Ich brauche den alten Eingang zu zeigen, so dass Benutzer verlieren nicht, was er hat bereits eingegeben. Also muss ich einen Weg, um alte Daten angezeigt werden wie:

value="{{old('title')}} 

Weil ich zur Eingabe alten Daten benötigen, falls es vorhanden ist, ich mit diesem Code endete:

value="{{$dog->title or old('title')}}" 

Und in Controller I überprüfe, ob Request eine alte Eingabe hat, ich gebe $ dog var einen Nullwert zu.

Ich wollte fragen, ob das eine gute Übung ist oder gibt es eine bessere und "richtige" Art, es zu tun?

Antwort

9

Funktion altStandard Parameter, wenn keine alten Daten in der Sitzung gefunden haben.

function old($key = null, $default = null) 

Sie können Ausdruck in Vorlage ersetzen mit

value="{{old('title', $dog->title)}}" 
+1

sollte es die akzeptierte Antwort sein – JCarlos

0

Es ist nichts falsch mit der Art, wie Sie Dinge tun, da Laravel mehrere Möglichkeiten gibt, mit der Situation umzugehen, die Sie beschreiben.

Was ich vorschlagen würde ist die Verwendung der Laravel Collective Form und HTML-Pakete, um Ihr Formular zu erstellen. Dieses Paket wird automatisch verbindlich alte Anforderungswerte in das Formular handhaben, wenn die Validierung

nicht

https://laravelcollective.com/docs/5.2/html

+0

Ja, er sucht Formular Modell Bindung. Das tut genau das, was er will, und es spart etwas Code schreiben :) – Daniel

Verwandte Themen