Bonjour,
Pour que mon entité User soit valide, j'ai besoin que soit validé un certain nombre de critères (stocké dans l'entité Critere).
Le formulaire que j'ai creer directement dans ma vue affiche la liste de critères avec checkbox oui/non :
Pour que l'User puisse être créer, il faut que toutes les checkbox soient à 'oui'. Pour cela, j'ai créé dans ma classe User, un attribut $allCritere qui doit être à 'true' pour être valide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 {% for critere in criteres %} <tr><td> {{ critere.nom }} </td><td> <label class="radio"> <input type="radio" name="{{critere.id}}" id="optionsRadios1" value="non" checked> non </label> <label class="radio"> <input type="radio" name="{{critere.id}}" id="optionsRadios2" value="oui"> oui </label> </td></tr> {% endfor %}
Je veux donc transmettre à cet attribut la valeur 'true' si l'ensemble des checkbox ont la valeur 'oui'.
Dans le controleur ca me donne ça :
Je souhaiterais que cette vérification ne se fasse pas dans le controleur. Mais en amont : y'a t'il une méthode idéale pour transmettre les valeurs des checkbox à mon attribut $allCritere, sans passer par le controleur ? Javascript ? Formbuilder (creer un champ comprenant l'ensemble des sous-champs checkbox : j'ai essayé, mais je crois que ça me dépasse...) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $validateur = 'true'; foreach ($criteres as $critere) { if ($request->request->get($critere->getId()) == "non"){ $validateur = false; } } $user->setAllCritere($validateur); // si le validateur = false, mon entité User ne sera pas valide
J'espère que mes explications ne sont pas trop confuses.
Merci d'avance pour vos conseils.
Partager