remove validation from particular elements, all container or group in form
Notice: This thread is very old.
- richard
- Member | 60
Toggle is handy but how can I also remove validation from form elements, container or group?
<?php
$form->addCheckbox('Send me a postcard')
->addCondition(Form::EQUAL, TRUE)
->toggle('address');
$address = $form->addContainer('address');
$address->add...
...
now bunch of items and validation rules
...
?>
- petr.pavel
- Member | 535
Hi Richard,
to be sure I understand, you want validation rules for fields within a
container to trigger only if the container is visible, right?
I guess you should think the other way around, not disabling triggers but enabling them on a condition.
$sendField = $form->addCheckbox('Send me a postcard');
$sendField->addCondition(Form::EQUAL, TRUE)->toggle('address');
$address = $form->addContainer('address');
$address->addText(...)->addConditionOn($sendField, Form::EQUAL, TRUE)
->addRule(....)
- richard
- Member | 60
Hi,
this is more detailed example of what I am trying to do:
<?php
$form->addRadioList('travel','Prefered way of travel:', array('by boat','on foot'))
->setRequired();
$form['travel']->addCondition(Form::EQUAL, 0)->toggle('ship');
............
$ship->addRadioList('boat','Prefered boat:', array('yacht','canoe'))
->addConditionOn($form['travel'],Form::EQUAL, 0)->setRequired();
$ship['type']->addCondition(Form::EQUAL, 0)->toggle('yacht');
............
$ship->addRadioList('yacht', 'Prefered yacht:', array('motor','sail'))
->addConditionOn($ship['type'],Form::EQUAL, 0)->setRequired();
............
?>
Obviously, I do not want to mess around with non-relevant questions in form but when user starts filling it out (i.e. clicks few things but then he gets back to ‘on foot’) then all the non-relevant stuff still gets validated.
Is there a way?
Last edited by richard (2011-09-12 18:02)