Validace části formuláře jen pokud je formulář zobrazen pomocí Bootstrap Collapse
- andros
- Člen | 145
Ahoj, pořád nemůžu přijít na to, jak validovat prvky části formuláře, pokud je v šabloně skrývám a zobrazuji pomocí Bootstrap Collapse – http://getbootstrap.com/javascript/#…
Pokud je část formuláře zobrazena, povinná pole se musí vyplnit, pokud je formulář schován, prvky se nevyplňují.
Mohl by mi někdo poradit jak na to ?
<h3 class="no-border">Doručit na jinou adresu <a class="expand-plus collapsed" role="button" data-toggle="collapse" href="#shipAdress" aria-expanded="false" aria-controls="shipAdress"></a></h3>
<div class="collapse" id="shipAdress">
.. formulářové prvky
</div>
Zatím to dělám tak, že na začátek formuláře přidávám checkbox a validuji prvky pokud je checkbox zaškrtnutý, ale rád bych se tohoto checboxu zbavil
$form->addCheckbox('delivery_address', 'Poslat na jinou adresu');
$form->addText('delivery_name','Jméno')
->addConditionOn($form['delivery_address'], Form::EQUAL, TRUE)
->setRequired('Zadejte jméno u dodací adresy');
- filsedla
- Člen | 101
Podle mě se pokoušíš udělat něco, co je nelogické, a nejde to jiným způsobem, než jak to už máš.
Boostrap Collapse chápu jako způsob jak vizuálně skrýt něco na stránce. Uživatel si to může přepínat. Jestli je to ale skryté nebo otevřené v okamžiku odesílání formuláře by nemělo mít vliv na logiku.
Validace v nette formuláři na serveru potřebuje nějak dostat informaci, jestli se mají skrývací pole validovat. Pokud chceš nutně zrušit checkbox, nahraď ho hidden polem, které budeš přepínat pomocí js (nevím, jak to udělat spolehlivě).