Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-07-2008 10:02:52

thomasb
Membre
Date d'inscription: 26-05-2008
Messages: 30

Problème validator et Zend Form

Voila mon pb :

J'ai deux champs dans un form un champ radio qui permet au user de préciser si le process s'effectue de manière mensuelle, hebdo ou quotidienne.
Un deuxième champ ( boutons radio comportant les jours de la semaine) qui n'est activé (via javascript) que si le user selectionne Hebdo sur le premier champ.
Mon soucis est le suivant, le deuxième champ peut etre vide car si le user selectionne Mensuel ou Quotidien il n'y pas lieu de sélectionner de jours. Hors avec le code si dessous je n'arrive pas à activer le test non vide si le user selectionne hebdo.

Pire la validation ne se déclanche que si mon champ contient l'instruction setRequired(true).

Code:

   $pas_indice = new Zend_Form_Element_Radio('pas_indice');
        $pas_indice->setLabel($this->translate->_('Sélectionnez le jour du début de pas : '));
        $pas_indice->addMultiOption(1,$this->translate->_('Mensuel'))
             ->addMultiOption(2,$this->translate->_('Hebdomadaire'))
             ->addMultiOption(3,$this->translate->_('Quotidien'))
             ->addValidator('NotEmpty')
             ->setRequired(true)
             ->setAttrib('onClick','toggleme()')
                                  ->addPrefixPath('Decorators','Decorators','decorator')
                                 ->addDecorator('Empty');
        
        
        
                                   
        $pas_indice_deb = new Zend_Form_Element_Radio('pas_indice_deb');
        $pas_indice_deb->setLabel($this->translate->_('Sélectionnez le jour du début de pas : '));
        $pas_indice_deb->addMultiOption(0,$this->translate->_('Lundi'))
                    ->addMultiOption(1,$this->translate->_('Mardi'))
                    ->addMultiOption(2,$this->translate->_('Mercredi'))
                    ->addMultiOption(3,$this->translate->_('Jeudi'))
                    ->addMultiOption(4,$this->translate->_('Vendredi'))
                    ->addMultiOption(5,$this->translate->_('Samedi'))
                    ->addMultiOption(6,$this->translate->_('Dimanche'))
                    ->addPrefixPath('Validators','Validators','validate')
                                           ->addValidator('MonValidateurPasSemaine',false,array(array('pas_indice')))
                                       //->addValidator('NotEmpty')
                     //->setRequired(true)
                   ->addPrefixPath('Decorators','Decorators','decorator')
                                          ->addDecorator('Empty');

Et mon validateur :

Code:

class Validators_MonValidateurPasSemaine extends Zend_Validate_Abstract
{
    const NOT_MATCH = 'notMatch';

    protected $_messageTemplates = array(
        self::NOT_MATCH => 'Veuillez sélectionner un jour de la semaine'
    );
    
    protected $_fieldsToMatch = array();  
        
    public function __construct($_fieldsToMatch = array()) {
        $this->_fieldsToMatch= $_fieldsToMatch;
        
    }  
  
    public function isValid($value, $context = null)
    {
        echo "aaaaaaaaaaaaaaah";
        $value = (string) $value;
        $this->_setValue($value);
        if (($value=="")&&($context[$this->_fieldsToMatch[0]]=="2")){
          $this->_error(self::NOT_MATCH);
          echo "ici";
          return false;
        }else{
            echo "la";
            return true;
        }
       
        
    }
}

Merci d'avance,

Hors ligne

 

#2 30-12-2008 21:00:25

Cityhunter
Nouveau membre
Date d'inscription: 11-07-2008
Messages: 9

Re: Problème validator et Zend Form

up j'ai le même problème en ce moment merci smile

Hors ligne

 

#3 30-12-2008 21:28:37

Cityhunter
Nouveau membre
Date d'inscription: 11-07-2008
Messages: 9

Re: Problème validator et Zend Form

Problème résolu grâce à ce post http://www.z-f.fr/forum/viewtopic.php?id=1446

Voir le dernier message ^^

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