Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PEAR > HTML_quickform
HTML_quickform Forum d'entraide pour la bibliothèque HTML_quickform du framework PEAR, permettant de manipuler des formulaires en PHP. Avant de poster -> tutoriels QuickForm
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/06/2007, 12h13   #1
En attente de confirmation mail
 
Inscription : avril 2007
Messages : 15
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : avril 2007
Messages : 15
Points : 8
Points : 8
Par défaut [QuickForm] date et règle required

Bonjour,

Je développe un site avec PEAR et en particulier Quickform pour les formulaire.
J'ai des champs date qui sont vide par défaut et que je voeux que les utilisateurs remplissent pour valider le formulaire.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<?php
require_once 'HTML/QuickForm.php';
 
$form = new HTML_QuickForm('date_test', 'POST');
 
$date_options = array(
                                         'addEmptyOption' => TRUE,
					 'language'  => 'fr',
					 'format'    => 'dMY',
					 'minYear'   => 2000,
				         'maxYear'   => 2020
						 );
 
$form->addElement('date','date','date : ','', $date_options);
 
$form->addRule('date','date obligatoire', 'required','', 'client');
 
$form->addElement('submit', null, 'valider');
$form->display();
?>
Le pb, c'est que la regle required ne fonctionne pas, il valide le formulaire meme si il n'y a pas de date.
Comment faire?
Merci d'avance
brissou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 13h53   #2
Nouveau Membre du Club
 
Inscription : mars 2005
Messages : 104
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2005
Messages : 104
Points : 37
Points : 37
salut,

il suffit d utiliser un autre controle:

Code :
1
2
 
$form->addRule('date','date obligatoire', 'nonzero','', 'client');
petchos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2007, 09h09   #3
En attente de confirmation mail
 
Inscription : avril 2007
Messages : 15
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : avril 2007
Messages : 15
Points : 8
Points : 8
Merci
Ca marche tres bien, meme trop bien car maintenant meme si je rempli la date le formulaire ne se valide plus....

J'ai donc modifié le code de Pear (juste une méthode) et ca marche :
HTML\QuickForm\Rule\Regex.php

méthode validate :
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
 
function validate($value, $regex = null)
    {
        if (isset($this->_data[$this->name])) {
			if(is_array($value) && !empty($value)){
				$bool = true;
				foreach($value as $key=>$value2){
					if($bool == true){
						$bool = $this->validate($value2, $regex);
					}
				}
				return $bool;
			}else{
 
	            if (!preg_match($this->_data[$this->name], $value)) {
					return false;
				}
			}
        } else {
            if (!preg_match($regex, $value)) {
                return false;
            }
        }
        return true;
    } // end func validate
brissou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h12.


 
 
 
 
Partenaires

Hébergement Web