[Form] Un formulaire particulier : méthode ?
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 :
Code:
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 %} |
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.
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 :
Code:
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 |
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...) ?
J'espère que mes explications ne sont pas trop confuses.
Merci d'avance pour vos conseils.