Bonjour, j'ai un soucis avec mon formulaire.
Lorsque tous les champs sont remplis, les données sont envoyées dans la base.
Par contre, quand le formulaire n'est pas bien rempli, je souhaite afficher les erreurs de type "Vous devez indiquez votre nom..."
J'ai créer un validateur, crée une fonction HandleError dans mon action.class et j'ai indiqué à mon template d'afficher les erreurs si il y'en a, mais rien ne s'affiche, une page 404 semble être renvoyée.
Voici le code en question dans mon action.class :
Voici le code de mon template :
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
22
23
24
25
26
27
28 //données qui seront utlisées dans le template public function executeDetails() { $c = new Criteria(); $c -> add(ReunionPeer::ID_REUNION, $this->getRequestParameter('id')); $this->zone = ReunionPeer::doSelectOne($c); } //l'action éxécutée lors de la validation du formulaire public function executeAjoutvalid() { $inscrit=new InscritReunion(); $inscrit->setIdReunion($this->getRequestParameter('id_reunion')); $inscrit->setMailInscrit($this->getRequestparameter('mail')); $inscrit->save(); } public function handleErrorAjoutvalid() { return sfView::ERROR; }
voici le lien pour accéder à ce formulaire :
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
22
23
24
25
26
27 <div id="statut_inscription" style="display:none"> <?php if ($sf_request->hasErrors()): ?> <p><? echo ('Formulaire pas correct !!')?> :</p> <ul> <?php foreach($sf_request->getErrors() as $name => $error): ?> <ol><?php echo $error ?></ol> <?php endforeach; ?> </ul> <?php endif ?> </div> <div id="inscription_reunion"> <?php echo form_remote_tag(array( "url" =>'reunion/ajoutvalid', 'update' => array('success' => 'statut_inscription', 'failure' => 'statut_inscription'), 'script' => true, 'loading' => "Element.show('indicator')", 'success' => "Element.hide('indicator');Element.show('statut_inscription');Element.hide('inscription_reunion');", 'failure' => "Element.hide('indicator');"), array( "name" => "ajoutvalid")); //Ensuite j'ai mes champs et le submit ?>
http://myproject/reunion/details/id/4
Avez vous une idée ??
Partager