2009-10-15 10 views
1

J'ai un formulaire Zend avec un sous-formulaire qui s'affiche uniquement lorsque l'utilisateur sélectionne une case à cocher spécifique. Certains champs du sous-formulaire sont requis SI la case est cochée, sinon les champs de ce sous-formulaire doivent être ignorés par IsValid.Exclure des éléments lors de la validation d'un formulaire Zend

Quel serait le chemin à parcourir?

+0

Vous pouvez utiliser un validateur personnalisé sur les éléments dépendants. L'ensemble de données est passé à chaque validateur sous la forme $ context et peut être utilisé si vous devez valider en fonction d'autres valeurs. –

Répondre

3

Avez-vous essayé de configurer l'élément pour qu'il ne soit pas nécessaire avant la validation? Quelque chose comme ...

$form = new My_Form(); 

if (isset($_POST['ignore_checkbox']) && $_POST['ignore_checkbox'] == 1) 
{ 
    $form->getElement('ignored_element_name')->setRequired(false); 

} 

if ($form->isValid($_POST)) { 
... 
+1

Je sais que c'est une option. Cependant, j'espérais une façon plus élégante. – sander

Questions connexes