MVC et traitement des requêtes · Question 10 sur 12

Un formulaire envoie le champ startDate sous la forme "2026-10-15" à createAction(Conference $conference) ; la propriété est un \DateTime. Comment la valeur est-elle mappée correctement ?

1 réponse est correcte. Moyen

Afficher la solution

Solution

  • C Définir le format de date dans initializeCreateAction() via la configuration du property mapping de l'argument (DateTimeConverter::CONFIGURATION_DATE_FORMAT = 'Y-m-d')

Explication

Sans configuration supplémentaire, le DateTimeConverter attend le format W3C avec l'heure (p. ex. 2026-10-15T00:00:00+02:00) ; "2026-10-15" ne correspond pas et le mapping échoue. $this->arguments->getArgument('conference')->getPropertyMappingConfiguration()->forProperty('startDate')->setTypeConverterOption(DateTimeConverter::class, DateTimeConverter::CONFIGURATION_DATE_FORMAT, 'Y-m-d') définit le format. Le TCA n'agit que sur le backend, et un validateur ne convertit rien.

Certifications & examens

Quel examen pour la suite ?

Tu peux déjà t’entraîner pour 19 examens, 21 sont soumis au vote. Découvre toutes les certifications avec les infos officielles, vote ou propose ton examen.

Voir toutes les certifications