MVC und Request-Verarbeitung · Frage 10 von 12
Ein Formular sendet das Feld startDate als "2026-10-15" an createAction(Conference $conference), die Property ist ein \DateTime. Wie wird der Wert korrekt zugeordnet?
1 Antwort ist richtig. Mittel
Lösung anzeigen
Lösung
- C Das Datumsformat in initializeCreateAction() über die Property-Mapping-Konfiguration des Arguments setzen (DateTimeConverter::CONFIGURATION_DATE_FORMAT = 'Y-m-d')
Erklärung
Der DateTimeConverter erwartet ohne weitere Angabe das W3C-Format mit Uhrzeit (z. B. 2026-10-15T00:00:00+02:00); "2026-10-15" passt nicht und das Mapping schlägt fehl. Mit $this->arguments->getArgument('conference')->getPropertyMappingConfiguration()->forProperty('startDate')->setTypeConverterOption(DateTimeConverter::class, DateTimeConverter::CONFIGURATION_DATE_FORMAT, 'Y-m-d') wird das Format festgelegt. Die TCA wirkt nur im Backend, ein Validator wandelt nichts um.