Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
savez-vous comment faire pour attacher un ou des validateurs à l'objet Form seulement et non pas à un champ. D'après ce que je comprends du code de la classe Zend_Form cela n'est pas possible.
J'ai un formulaire de liaison d'un ouvrage à une personne (ou plusieurs). Cette liaison a pour attribut le rôle de la personne : éditeur, auteur, traducteur.
Une même personne peut-être à la fois éditeur et auteur d'un ouvrage donné mais pas renseignée deux fois comme auteur d'un ouvrage. J'ai donc un validateur Zend_Validate_Db_NoRecordExists avec un Zend_Db_Select dont la clause where est modifiée pour porter sur les deux champs author_id et role_id de cette table de liaison books_authors.
Par contre cette validation concernant deux champs de mon formulaire je veux rattacher ce validateur à mon formulaire seulement et à aucun des deux champs en particulier.
Savez-vous si un composant Zend_Form étendu prenant en compte cette fonctionnalité existe déjà ?
Ou bien avez vous une idée ?
Merci beaucoup par avance,
Frédéric
Hors ligne
Je ne crois pas que cela soit possible, par contre dans la fonction isdValid d'un validateur, le deuxième paramètre $context est le formulaire complet.
Tu peux donc faire un validateur basés sur plusieurs champs du formulaire.
Hors ligne