IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Form PHP Discussion :

Formulaire avec date supérieure à une autre


Sujet :

Zend_Form PHP

  1. #1
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut Formulaire avec date supérieure à une autre
    Bonjour, je suis en train de créer un formulaire et dans celui-ci, j'ai 2 champs date où le deuxième doit être supérieur au premier.

    J'ai regardé le validateur GretaherThan mais il ne fonctionne pas avec les dates.

    Voici mon code actuel :
    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
     
    // date de debut du concours
    		$daeDebut = new Zend_Form_Element_Text('dateDebut');
    		$daeDebut->setRequired(true)
    				 ->addFilter('StripTags')
    				 ->addFilter('StringTrim')
    				 ->addValidator('NotEmpty')
    				 ->addValidator(new Zend_Validate_Date(array(
    				 	'format' => 'dd-MM-yyyy',
    				 )))
    				 ->setDecorators(array('ViewHelper'));
     
    		// date de fin du concours	  
    		$dateFin = new Zend_Form_Element_Text('dateFin');
    		$dateFin->setRequired(true)
    				->addFilter('StripTags')
    				->addFilter('StringTrim')
    				->addValidator('NotEmpty')
    				->addValidator(new Zend_Validate_Date(array(
    					'format' => 'dd-MM-yyyy',
    				)))
    				->setDecorators(array('ViewHelper'));
    Vers quoi puis-je me tourner svp?
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  2. #2
    Membre très actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Par défaut
    Salut !

    Je ne sais pas si il existe une solution toute faite avec Zend, mais au pire tu peux faire la comparaison toi-même au moment de la validation de ton formulaire en convertissant tes deux dates en timestamp.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $dateDeb = new Zend_Date($laDateDebSaisie); // Création de ta date de début avec Zend_Date.
    $dateFin = new Zend_Date($laDateFinSaisie); // Création de ta date de fin avec Zend_Date.
     
    // Tu convertis en timestamp ces deux dates et tu les compares.		
    if ($dateFin->get(Zend::TIMESTAMP) < $dateDeb->get(Zend::TIMESTAMP)) {
    	// Tu indiques l'erreur.
    }
    A partir de ça, tu pourrais même faire ton propre Zend_Validate (vraiment utile que si tu comptes faire cette vérif' à plusieurs endroits de ton site ^^).

    Tu peux aussi faire une vérif' JavaScript sur l'évenement submit du formulaire. Ce qui serait recommandé, histoire de ne pas interroger le serveur pour une simple vérification de donnée. Après, il faut quand même une vérif' côté serveur des fois que l'utilisateur désactive le JS.

    DarkSeiryu

    EDIT : Hum, j'aurais du chercher avant de répondre au lieu de faire l'inverse... 'fin bon, ça change pas grand chose mais pour comparer des dates, tu as des fonctions toutes faites dans Zend_Date. Je t'invite à lire la documentation.

  3. #3
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Bonjour,
    Il faut que tu fasses ton propre validateur avec la comparaison de date fournis dans le post précédent

Discussions similaires

  1. [XL-2010] userform / textbox avec date / faire une addition dans une autre textbox
    Par GADENSEB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/04/2014, 17h21
  2. Réponses: 3
    Dernier message: 15/11/2011, 14h35
  3. [AC-2010] Filtre sur formulaire avec copie dans une autre table
    Par alainnolahc dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/10/2010, 19h26
  4. Détecter si une date est supérieure à une autre
    Par figo-mtp dans le forum Langage
    Réponses: 3
    Dernier message: 27/04/2010, 07h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo