2016-12-13 4 views
0

Wir implementieren eine REST API mit Zend\Form. Dies funktioniert gut für die HTTP-Methoden PUT und POST. Beide Arten von Anfragen enthalten eine vollständige Darstellung der Daten des Objekts, so dass es kein Problem ist, Zend\Form zu verwenden, um es zu validieren. Wir setzen die empfangenen Daten einfach auf die Formularinstanz und fertig.Zend Form und REST: Machen Sie Zend Form akzeptiert Teildaten zur Implementierung einer HTTP PATCH Methode

PATCH Anfragen enthalten jedoch nur Teildaten: die Daten, die geändert werden sollen und nichts anderes. Das einfache Festlegen der empfangenen Daten im Formular führt zu einer fehlgeschlagenen Validierung, da offensichtlich einige Daten fehlen.

Können Sie Zend\Form irgendwie Teildaten akzeptieren? Ist das, was die 'allow_empty' InputFilter Optionen für da sind? Oder müssen wir die vorhandenen Daten holen und manuell mit den empfangenen Daten zusammenführen, bevor wir die Daten im Formular setzen?

Antwort

0

Offenbar Zend\Form soll Teildaten nicht unterstützen. Um also Zend\Form für eine PATCH Anfrage zu verwenden, war die einzige Lösung, das vollständige Objekt aus der Datenbank zu holen und dann die Daten der Anfrage in die abgerufenen Daten zusammenzuführen.

Verwandte Themen