Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
j'ai créé un validateur qui doit accepter 1 paramètre () alors j'ai fait
public $id; public function __construct($id = 0) { $this->id = (string) $id; }
Ensuite j'aurai aimer faire :
$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 :
$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
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
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 :
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
Pages: 1