salut,
j'ai un grand formulaire dans lequel on doit spécifier une heure d'ouverture et une autre de fermeture,
j'ai essayé de créer un Validateur qui me permetterai de verifier si l'heure de fermeture est plus grande que celle d'ouverture,
mais j'arrive pas à récuperer la valeur de l'heure d'ouverture (sachant que j'applique le validateur sur l'heure de fermeture)
voici le code de mon validateur :
et voici une partie de mon code de création du 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
28
29
30
31
32
33
34
35 <?php Class CompareHeuresValidator extends Zend_Validate_Abstract { const COMPARE = 'compare'; protected $_messageTemplates = array(self::COMPARE => "L'heure d'ouverture ne peut être plus grande que celle de fermeture ('%value%')"); protected $_heure; public function __construct($heure){ echo "construct heure : ".$heure; $this->_heure = $heure; } public function isValid($value){ $this->_setValue($value); try{ $tab1=explode(":",$this->_heure); $tab2=explode(":",$value); } catch(Exception $e){ $this->_error(); return false; } if ((int)$tab1[0]>(int)$tab2[0]){ if ((int)$tab1[1]>(int)$tab2[1]){ $this->_error(); return false; } } echo "heure : ".$this->_heure; //echo $heure; $this->_error(); return false; } }
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ........ $ouvert = new Zend_Form_Element_Text('h_ouvert'); $ouvert->setLabel('Heure d\'ouvertue : '); $ferme = new Zend_Form_Element_Text('h_ferme'); $ferme->setLabel('Heure de fermeture : ') ->addValidator(new CompareHeuresValidator($ouvert->getValue())); ........
Bien cordialement
Partager