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:
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'avanceCode:
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