Bonjour à tous,
- Cahier des charges :
Imaginons un formulaire simple avec 2 inputs et 1 checkbox.
- Inputs : "Date début" et "Date fin"
- Checkbox : "Pas de fin"
J'aimerais que mon input "Date début" soit requis et que mon input "Date fin" soit requis si et seulement si "Pas de fin" est coché.
- Réalisation :
Mon form ressemblerait donc à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ... $date_debut = new Zend_Form_Element_Text('date_debut'); $date_debut->setLabel('Date de début') ->setRequired(true) ->addValidator('Date',true,array('format'=>'DD/MM/YYYY')); $date_fin = new Zend_Form_Element_Text('date_fin'); $date_fin->setLabel('Date de fin') ->addValidator('Date',true,array('format'=>'DD/MM/YYYY')); $pas_de_fin = new Zend_Form_Element_Text('pas_de_fin'); $pas_de_fin->setLabel('Pas de fin'); ...- Problème :
Cependant ce formulaire ne gère pas le cas où ma checkbox serait cochée.
Le souci majeur se situe donc au niveau de la gestion du message d'erreur car je pourrais aussi bien faire la vérification au niveau du controlleur au moment de la validation du formulaire mais ce ne serait pas très propre.
Si vous avez besoin de plus de détails ou si vous avez des questions, n'hésitez pas à demander.
Merci d'avance pour votre aide.
Partager