Bonjour,
J'ai un problème avec mon formulaire de connexion qui marche parfaitement bien sans validator mais qui me dit "scrf_token required" lorsque je met mes validators. Je n'ai pas d'erreur mais je reste bloqué sur la page de connexion. voici les morceaux de code qui peuvent être intéressant :
Dans le connexionForm.class.php :
Dans l'action.class.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 class connexionForm extends sfForm { public function configure() { $this->setWidgets(array( 'login' => new sfWidgetFormInputText(), 'mdp' => new sfWidgetFormInputPassword() )); $this->widgetSchema->setLabels(array( 'login' =>'login', 'mdp' =>' mot de passe' )); $this->setValidators(array( 'login' => new sfValidatorString(array('required' => true)), 'mdp' => new sfValidatorString(array('required' => true)), )); $this->widgetSchema->setNameFormat('connexion[%s]'); $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema); } }
Dans le template indexSuccess.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $this->connexionForm = new connexionForm(); if($request->isMethod('post')) { $this->connexionForm->bind($request->getParameter('connexion')); if($this->connexionForm->isValid()){
Voila pour le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <form action="<?php echo url_for('Connexion/index');?>" method="POST" enctype="multipart/form-data"> <table> <?php echo $connexionForm['login']->renderError() ?> <p><?php echo $connexionForm['login']->renderLabel() ?><?php echo $connexionForm['login'] ?></p> <?php echo $connexionForm['mdp']->renderError() ?> <p><?php echo $connexionForm['mdp']->renderLabel() ?><?php echo $connexionForm['mdp'] ?></p> <?php echo $connexionForm->renderHiddenFields() ?> <tr> <td colspan="2"> <input type="submit" value="Connexion" /> </td> </tr> </table> </form>
Comme vous pouvez le voir j'ai essayé de m'inspiré de la conversation qui date de 2009 sur le même sujet mais sans succès...
Merci d’avance pour le temps passer sur mon problème.
Partager