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
+
0
-

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
+
+3
-

addConditionOn vrati novou instanci Rules, takze muzes udelat:

$rules = $add2->addConditionOn(..);

$rules->setRequired();
kleinpetr
Člen | 480
+
0
-

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)