Oui je fais un input en html directement dans le template. Tous les champs sont bien sauvés y compris d' autres champs hidden en base, et même quand je reviens en arrière puis soumet à nouveau le formulaire mais toujours avec la valeur du test à faux (20).
Comme si la valeur du bouton était toujours ignoré malgré le tableau suivant qui est passé à chaque fois : $_POST: Array ( [evaluation] => Array ( [score1] => 1 [comment1] => [contributor_id] => 5 * [customer_id] => 20* [invitation_id] => 16 [_csrf_token] => acb68cf6c310496772b0f8c2e3bc3afd [score2] => 1 [comment2] => [score3] => 4 [comment3] => [score4] => 3 [comment4] => [score5] => 3 [comment5] => [score6] => 3 [comment6] => [comment] => ) [_submit] => VALIDER ) Le 30 novembre 2010 01:51, Mohamed Ayoub Benjelloun < benjellounay...@gmail.com> a écrit : > En dur veux dire que tu l'écris en dur sans widget ni validator? > si tel est le cas regarde du coté de ça > http://www.symfony-project.org/forms/1_4/fr/ > > Sinon en symfony généralement sur ton template l'attribut action de ta > <form> pointera vers l'url_for() de l'action sf en cours, sauf que sur cette > dernière tu fais un test qui différenciera l'usage de cette action pour les > deux cas, à savoir, 1-premier usage ou 2-après post du form, du genre: > > > Exemple d'utilisation d'un form contenant un input type file par exemple: > > *//action* > ... > $this->form = new ExempleForm();//se qui se passera dans les deux cas > if ($request->isMethod('post'))//cas spécifique à l'après post > { > > $this->form->bind($request->getParameter($this->form->getName()),$request->getFiles('fichier')); > //le deuxième param n'est pas obligatoire > if($this->form->isValid()) > { > $file = $this->form->getValue('file'); > $filename = > sha1($file->getOriginalName()).$file->getExtension($file->getOriginalExtension()); > $this->getUser()->setFlash('validationNotice', sprintf('traitement > OK')); > $this->form->save(); > } > else > {$this->getUser()->setFlash('validationNotice', sprintf('traitement > NOK'));}//à personnaliser pour connaitre l'origine de l'erreur > } > ... > > *//template* > //ceci affichera ton message de validation ou d'erreur sur le même template > affichant ton form > ... > if($sf_user->hasFlash('validationNotice')){echo > $sf_user->getFlash('validationNotice')} > ... > > > *+Dans ton cas*: > 1-sur le template: utiliser deux input type submit de même nom mais de > value différente, (à mon avis c'est suffisant) et sur l'action mettre ce > teste: > if($this->form['nomDuSubmit']=='value1'){//traitement1} > elseif($this->form['nomDuSubmit']=='value2'){//traitement1} > > 2-essayer ça sur l'action pour voir si ça n'est pas un problème de > configuration sur les protection CSRF: > sfForm::disableCSRFProtection(); > > 3-ne pas oublier echo $form->renderHiddenFields() sur le form de ton > template > > et normalement ça doit marcher... > > Bon courage > > -- > 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...@googlegroups.com. > Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse > symfony-fr+unsubscr...@googlegroups.com<symfony-fr%2bunsubscr...@googlegroups.com> > . > Pour plus d'options, consultez la page de ce groupe : > http://groups.google.com/group/symfony-fr?hl=fr > -- Cordialement, Manuel Brossard Twitter: twitter.com/infonel Skype : mantex2039 Tel: + 33 9 72 17 00 41 -- 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...@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