Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 31-10-2007 19:58:15

bibine425
Membre
Date d'inscription: 09-10-2007
Messages: 17

[ Zend_Validate ] [ 1.0.2 ] Comment testez-vous un checkbox ?

Bonjour,

La question semble toute bête en faite mais comment testez-vous avec Zend_Validate dans un formulaire si un checkbox est coché?

Parce que j'ai essayé avec "NotEmpty" et "Digits" mais cela ne marche pas. Je veux dire par là que si la checkbox n'est pas coché cela ne me donne aucun message.

Voici mon formulaire :

Code:

<form method="post" action="#insc" name="insc" id="insc">
<fieldset>
<legend>Infos :</legend>
 <p><label for="pseudo">Mon pseudo : </label><input type="text" size="20" name="pseudo" id="pseudo" value="" /></p>
 <p><label for="cgu" class="checkbox"><input type="checkbox" id="cgu" name="cgu" value="1" /> Checked</label></p>

<p><input type="submit" name="submit" value="ok" /></p>
</fieldset>
</form>

Et voici mon code pour tester le formulaire :

Code:

if(!empty($_POST['submit'])) { 
   $filtres = array(
   '*' => 'StringTrim',
   );
   
           
  $validateurs = array (
    
        'pseudo' => array(array('Regex','(^[-_0-9a-zA-Z]{4,15}$)'),'messages' => array(Zend_Validate_Regex::NOT_MATCH => "Votre pseudo doit contenir entre 4 et 15 caractéres alphanumériques ou les caractères -, _.")),
    
        'cgu' => array('digits','messages' => 
                                  array(
                                   Zend_Validate_Digits::NOT_DIGITS   => 'Cocher la case',
                                                     Zend_Validate_Digits::STRING_EMPTY => 'Cocher la case car vide.'
                                  )
        )
  );
 
   $input = new Zend_Filter_Input($filtres, $validateurs,$_POST);
     
    if ($input->isValid()) {
         //To be continued
        } else {    
        //Récupére les erreurs    
        foreach ($input->getMessages() as $item){ $erreur[] = $item[0];}  
      } 
  
    }

Quelqu'un a t-il une idée, svp ?

Hors ligne

 

#2 31-10-2007 20:23:20

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: [ Zend_Validate ] [ 1.0.2 ] Comment testez-vous un checkbox ?

Si ta checkbox n'est pas coché, la variable $_POST['name_de_ta_checkbox']  n'est pas crée...


Société : Direct Info Service

Hors ligne

 

#3 31-10-2007 20:38:43

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [ Zend_Validate ] [ 1.0.2 ] Comment testez-vous un checkbox ?

isset

Hors ligne

 

#4 01-11-2007 10:25:07

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: [ Zend_Validate ] [ 1.0.2 ] Comment testez-vous un checkbox ?

yannux a écrit:

Si ta checkbox n'est pas coché, la variable $_POST['name_de_ta_checkbox']  n'est pas crée...

sauf si tu utilise le view helper $this->FormCheckbox() qui va automatiquement te créer un champ caché supplémentaire <input type="hidden" name="cgu" value="0" />

Hors ligne

 

#5 16-01-2008 16:57:05

noe
Nouveau membre
Date d'inscription: 21-09-2007
Messages: 3

Re: [ Zend_Validate ] [ 1.0.2 ] Comment testez-vous un checkbox ?

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages