2008-12-23 6 views
3

J'écris un validateur personnalisé qui vérifie qu'au moins un champ a une valeur. Je veux valider que 'namefield' ou 'idfield' a une valeur. L'un d'eux peut être vide, ou les deux peuvent avoir une valeur, mais au moins l'un d'entre eux doit avoir une valeur. D'après ce que j'ai compris, mon validateur ne validera pas à moins que je mette mon élément de formulaire à nécessaire.Zend Framework: Comment définir un validateur personnalisé sur un élément de formulaire?

->setRequired(true) 

Mais si je l'ai mis à nécessaire, il valide automatiquement qu'il ne soit pas vide, et le message d'erreur indique qu'il est vide. Je veux autoriser le champ à être vide et valider plusieurs champs avec mon validateur personnalisé. Comment puis-je valider un élément de formulaire avec mon validateur personnalisé, sans définir l'élément de formulaire sur requis?

Répondre

6

Vérifiez la méthode setAllowEmpty() pour this documentation page. Cela devrait vous aider à arriver là où vous essayez d'aller.

setAllowEmpty (drapeau $) et getAllowEmpty() vous permettent de modifier le comportement des éléments facultatifs (à savoir, les éléments où le besoin drapeau est faux). Lorsque le drapeau 'Autoriser vide' est vrai, les valeurs vides ne seront pas transmises à la chaîne de validation.

+1

-> setAllowEmpty (false) C'était exactement ce dont j'avais besoin. Merci! – Andrew

Questions connexes