Bonjour, j'ai beau essayé les méthodes de la doc aucune n'a l'air de fonctionner.
mon souci est le suivant : j'ai un formulaire contenant les champs suivants : ->add('strength', 'choice', array('choices' => $nombres)) ->add('constitution', 'choice', array('choices' => $nombres)) ->add('size', 'choice', array('choices' => $nombres)) ->add('intelligence', 'choice', array('choices' => $nombres)) ->add('power', 'choice', array('choices' => $nombres)) ->add('dexterity', 'choice', array('choices' => $nombres)) ->add('charisme', 'choice', array('choices' => $nombres)) je ne veux pas que le formulaire soit validé si la somme de ces 7 champs est différente de 90 (le visiteur choisit entre 3 et 18 pour chaque champ) j'ai déjà une solution en javascript mais j'aurai aimé ne pas l'utiliser car si quelqu'un désactive le javascript de son navigateur, je me retrouve avec une faille. (même si l'ensemble du site fonctionnera moins bien sans javascript lol) j'étais donc content d'avoir trouvé dans la doc : /** * Set totalAttributs * * @param integer $totalAttributs */ public function setTotalAttributs() { $this->totalAttributs = $this->strength + $this->constitution + $this->charisme + $this->dexterity + $this->power + $this->intelligence + $this->size; } /** * @Assert\True(message = "Vous avez mis plus ou moins de 90 points dans vos attributs") */ public function isDifferent90() { return $this->totalAttributs != 90; } c'est mon adaptation de ce que j'ai lu là : http://symfony.com/doc/current/book/validation.html#getters je fais un set totalAttributs dans mon controller avant de valider le formulaire et je n'ai pas d'erreur mais je n'ai pas non plus de validation puisque je peux entrer des attributs dont la somme est != de 90... pour info mon bout de controller $personnage = new Personnage(); $request = $this->getRequest(); $form = $this->createForm(new FirstStepType(), $personnage); $form->bindRequest($request); $personnage->setTotalAttributs(); $personnage->setLifeAndEnergyWithStrengthConstAndPower(); $personnage->setCreatedAt(new \Datetime()); if ($form->isValid()) {... est-ce quelqu'un voit une façon de faire propre à symfony2 ou je dois me rabattre sur du javascript uniquement ? merci d'avance -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Symfony-fr. Pour envoyer un message à ce groupe, adressez un e-mail à symfony-fr@googlegroups.com. Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse symfony-fr+unsubscr...@googlegroups.com. Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/symfony-fr?hl=fr