MVC y procesamiento de peticiones · Pregunta 10 de 12
Un formulario envía el campo startDate como "2026-10-15" a createAction(Conference $conference); la propiedad es un \DateTime. ¿Cómo se mapea correctamente el valor?
1 respuesta es correcta. Medio
Mostrar solución
Solución
- C Definir el formato de fecha en initializeCreateAction() mediante la configuración del property mapping del argumento (DateTimeConverter::CONFIGURATION_DATE_FORMAT = 'Y-m-d')
Explicación
Sin configuración adicional, el DateTimeConverter espera el formato W3C con la hora incluida (p. ej. 2026-10-15T00:00:00+02:00); "2026-10-15" no coincide y el mapeo falla. $this->arguments->getArgument('conference')->getPropertyMappingConfiguration()->forProperty('startDate')->setTypeConverterOption(DateTimeConverter::class, DateTimeConverter::CONFIGURATION_DATE_FORMAT, 'Y-m-d') define el formato. El TCA solo afecta al backend, y un validador no convierte nada.