Jak přidat podmínku elementu při iteraci
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- kleinpetr
- Člen | 480
Ahoj, snažím se řešit podmiňování elemntů, ale jelikož toto nastavení odněkud načítám tak předem nevím co na čem bude závislé, tudíž se to snažím dělat automaticky při iteraci ale bohužel jsem narazil na problém:
příklad:
$form->addText('address','Adresa')->setRequired();
$form->addCheckbox('check','Druhá adresa');
$add2 = $form->addText('address2','Adresa2');
//funkční přidání podmínky
$add2->addConditionOn($form['check'],$form::EQUAL,true)->setRequired();
//ale já bych potřeboval něco takového
$add2->addConditionOn($form['check'],$form::EQUAL,true);
$add2->setRequired();
Dá se tohle nějak řešit ? Mockrát díky.
Editoval kleinpetr (30. 3. 2015 11:53)
- David Matějka
- Moderator | 6445
addConditionOn
vrati novou instanci Rules
, takze
muzes udelat:
$rules = $add2->addConditionOn(..);
$rules->setRequired();
- kleinpetr
- Člen | 480
Super, díky. Jen se ještě zeptám, když budu potřebovat nasadit více podmínek najednou tak to bude vypadat takhle ?
$rule1 = $add2->addConditionOn(..);
$rule2 = $rule1->addConditionOn(..);
$rule3 = $rule2->addConditionOn(..);
$rule3->setRequired();
Tohle by tedy mělo nastavit required
až po splnění všech.
Sice to bude horší implementovat do cyklu, ale snad si s tím poradím.
Editoval kleinpetr (30. 3. 2015 12:35)