Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-02-2010 15:47:31

Godzinho
Membre
Lieu: Toulouse
Date d'inscription: 15-10-2009
Messages: 58

[Résolu][ZF 1.6][Zend_Validate_Date]Problème validation date

Bonjour,

j'ai un formulaire dans lequel j'ai un champ texte qui doit recevoir une date.
Pour vérifier que l'utilisateur saisisse une date dans un format valide (dd/mm/YYYY), j'ai créé un validateur que j'ai ensuite ajouté au champ date.

Voici mon code :

Code:

$dateValidator = new Zend_Validate_Date('dd/mm/YYYY');
$dateValidator->setMessage('Format de date incorrect');
...
$dateNaiss = new Zend_Form_Element_Text('dateNaiss');
$dateNaiss->setLabel('Date naissance')
    ->addValidator($dateValidator);

Mon soucis est que lorsque je rentre par exemple 12345 et que je submit mon formulaire, je n'ai pas d'erreur sur la date saisie.

Voyez-vous d'où peut venir le problème ?

Merci d'avance.

Dernière modification par Godzinho (08-02-2010 13:19:00)

Hors ligne

 

#2 08-02-2010 13:18:25

Godzinho
Membre
Lieu: Toulouse
Date d'inscription: 15-10-2009
Messages: 58

Re: [Résolu][ZF 1.6][Zend_Validate_Date]Problème validation date

Bonjour à tous,

j'ai réussi à écrire mon validateur de date.
Comme il a été dit dans un autre topic, j'ai repris le code du Zend_Validate_Date et changé les '-' par des '/'.

Il faut simplement faire attention de mettre un '\' devant le '/' dans la regexp car le '/' doit être un caractère spécial des expressions régulières.

Voici mon validateur de date française :

Code:

class Appli_Validate_Date extends Zend_Validate_Abstract {
    public function isValid($value) {
        if (!preg_match('/^\d{2}\/\d{2}\/\d{4}$/', $value)) {
            $this->_messages[] = 'Le format de la date doit être JJ/MM/AAAA';
            return false;
        }

        list($day, $month, $year) = sscanf($value, '%d/%d/%d');

        if (!checkdate($month, $day, $year)) {
            $this->_messages[] = 'Date non valide';
            return false;
        }    

        return true;
    }
}

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages