Bonjour,
J'ai une problématique sur un formulaire en Symfony que j'aimerais résoudre.
Le formulaire comporte deux champs. Un champ catégorie qui va listé une liste de catégorie à choisir avec un choice_label. Un champ sous-catégorie qui va listé la liste des personnages d'un jeu.
Le champ catégorie contient une valeur "Personnages". Ce que je veux, c'est afficher le champ sous-catégorie seulement si la valeur Personnages est affichée. Ce qui me donnera. Pour la catégorie Personnages, je choisis tel personnages sur le deuxième champ.
Pour arriver à ce résultat j'ai testé l'addEventListener en PRE_SUBMIT du Formulaire d'évènement. Ce qui me donne quelque chose comme :
Ce qui donne en gros : Si le champ catégorie contient la valeur Personnages, alors on ajoute la sous catégorie avec le nom des Personnages.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ->addEventListener(FormEvents::PRE_SUBMIT, function(FormEvent $event) { $sub = $event->getData(); $form = $event->getForm(); if (isset($sub['title']) && $sub['title'] == 'Personnages') { $form->add('subCategory', EntityType::class, [ 'class' => SubCategory::class, 'choice_label' => 'name']); }
Problème : Ça ne marche pas. Que je choisisse n'importe qu'elle catégorie, j'aurai toujours la liste des Personnages, ce que je ne veux pas.
Si vous avez une idée je suis preneur, n'étant pas certain de la bonne méthode utilisée.
Merci d'avance
Partager