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 :
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;
		}
	}
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
........
	$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()));
........
Merci d'avance
Bien cordialement