Bonjour à tous !
J'aimerais que mon formulaire m'affiche la bonne année, conformément à celle de l'objet qu'il référence pour le formulaire. Or, il préfère afficher l'année en cours et un intervalle de + ou - 5 ans (dans la liste des années disponibles).
Je n'arrive pas à régler cette histoire d'intervalle de date. Pour info, le mois et le jour s'affichent très bien.
Dans mon contrôleur j'ai ces lignes pour afficher le formulaire :
Et dans la classe UtilisateurIdentifie j'ai déclaré (je l'ai fait avec la console) l'attribut dateNaissance par un DateTime comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $utilisateur = new UtilisateurIdentifie(); $session = $this->getRequest()->getSession(); $formBuilder = $this->createFormBuilder($utilisateur); $formBuilder ->add('dateNaissance', 'date', array( 'format' => \IntlDateFormatter::LONG, 'input' => 'datetime', 'data' => new \DateTime($session->get('dateNaissance')) )); $form = $formBuilder->getForm();
Résultat : la liste déroulante des années ne va que de 2008 à 2018, c'est très gênant pour quelqu'un qui serait né avant 2008.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /** * @var \DateTime * * @ORM\Column(name="dateNaissance", type="datetime") */ private $dateNaissance;
J'ai pourtant fait un tuto sans soucis et re-regardé plusieurs fois sans trouver la réponse.
Une petite aide ? Siouplaît ?
Partager