Vybrána volba alespoň jednoho ze selectů
- Pavel Kravčík
- Člen | 1205
Píšu z hlavy, ale co něco podobného? Podmínka, jestli je druhý vyplněný a když není tak se zeptat jestli je první a pokud není ani ten → required.
$form->addSelect('podrizery', 'Podřízený:', $podrizeryArray )
->addCondition(~Form::FILLED)
->addConditionOn($form['nadrizeny'], ~Form::FILLED)
->setRequired('Vyplňte alespoň jeden')
->endCondition()
->endCondition();
- Pavel Kravčík
- Člen | 1205
@greeny: Copypaste z nejnovější dokumentace. Předpokládám, že to bude fungovat stejně a jen to nastaví ty „data“ pro kontrolu podmínek.
Ale osobně taky všude používám AddRule(). Šlo spíš o tu pointu s AddConditionOn().
EDIT: Respektive mi přišlo zbytečné to nějak studovat, když má tázatel 400+ příspěvků. Tak něco málo o Nette už ví. :)
Editoval kzk_cz (10. 3. 2015 15:45)
- David Matějka
- Moderator | 6445
Jo, setRequired by melo fungovat stejne.
Jen je zbytecny to prvni addCondition(~Form::FILLED)
a vlastne
i endCondition, jelikoz tam (zatim) neni zadne dalsi vetveni
- Pavel Kravčík
- Člen | 1205
@DavidMatějka: Ale když smažu to první addCondition(), tak přece může nastat situace, že první bude prázdný a druhý plný. A neprojde to. Což je podle zadání špatně, jestli to chápu.
- David Matějka
- Moderator | 6445
Kdyz bude druhy plny, tak se preci splni validacni pravidlo nastavene pres
setRequired
a hlaska se nezobrazi.
- Pavel Kravčík
- Člen | 1205
Fungují všechny tři varianty. Jen ten můj je trapnější. :) Však máš 400 příspěvků, to už o Nette něco málo musíš vědět, ne? :)