Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-05-2009 21:36:20

citronbleu-v
Membre
Lieu: Béziers ou Arles
Date d'inscription: 03-02-2009
Messages: 79
Site web

Zend_Validate personnalisé | Parametre dans le constructeur

Bonjour,

j'ai créé un validateur qui doit accepter 1 paramètre () alors j'ai fait

Code:

public $id;

public function __construct($id = 0)
{
    $this->id = (string) $id;
}

Ensuite j'aurai aimer faire :

Code:

    $validator = $form->getElement('code');
    $validator->addValidator('DoubleEditeur', 2); 
        // 2 est l'id, ça ne marche pas pourtant 
        // je voulais faire comme les validateurs par défaut de Zend, alors peut être que ça marche que pour eux ?

Aussi non la seule solution que j'ai trouvé c'est de faire :

Code:

    $validator = $form->getElement('code');
    $validator->addValidator('DoubleEditeur', 2); 
        $validator->getValidator('DoubleEditeur')->id = $id; // l'attribut id en public bien sur

Mais je ne trouve pas cette solution top. surtout que l'id est public.

Après il y a addValidator( new My_Validate_DoubleEditeur(2) ); qui est la mieux je pense, mais je préfère ne pas mettre My_Validate dans le cas ou je change de dossier.

Voilà

Hors ligne

 

#2 12-05-2009 23:41:34

vg33
Membre
Date d'inscription: 30-07-2008
Messages: 46

Re: Zend_Validate personnalisé | Parametre dans le constructeur

citronbleu-v a écrit:

Après il y a addValidator( new My_Validate_DoubleEditeur(2) ); qui est la mieux je pense, mais je préfère ne pas mettre My_Validate dans le cas ou je change de dossier.

C'est pourtant la solution la plus simple à mon avis. Si tu changes de dossier, un petit search/replace sur l'ensemble du code et le tour est joué en moins de 10 secondes !

Hors ligne

 

#3 13-05-2009 00:19:38

citronbleu-v
Membre
Lieu: Béziers ou Arles
Date d'inscription: 03-02-2009
Messages: 79
Site web

Re: Zend_Validate personnalisé | Parametre dans le constructeur

oui pas bête, j'ai pas pris cette habitude d'utiliser cette fonctionnalité dans les éditeurs de texte.
Mais j'étais plutôt curieux de savoir pourquoi ça ne fonctionne pas avec les validateurs qu'on créé. Pourtant j'ai essayé de faire pareil qu'une classe de Zend.

Après cette solution " addValidator( new My_Validate_DoubleEditeur(2) );  " a une problématique si on utilise les fichiers .ini.
exemple :

Code:

elements.code.options.validators.double.validator = "DoubleEditeur"
elements.code.options.validators.double.options.id = 6

ça fonction mais on est obligé de passer l'attribut en public sauf si options.id se base par rapport au controller (je ne sais pas trop). Enfin voilà ça c'est pour ceux qui lisent ce post et qui utilisent les fichiers .ini.

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