addConditionOn – validácia dynamického počtu elementov

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
ricco24
Člen | 141
+
0
-

Dá sa nejakým spôsobom pridať podmienka addConditionOn nad dynamický počet elementov ?

Napríklad keď potrebujem pre rôznych užívateľov generovať rôzny maximálny počet kategórií. A potrebujem aby bola vyplnená aspoň jedna – je jedno ktorá.

Napadlo ma niečo takéto ale neviem ako sa dostať opakovane do kontextu definovanej podmienky.

$max_categories = 5;

for($i = 1; $i <= $max_categories; $i++) {
	for($j = 1; $j <= $max_categories; $j++) {
		if($x != $y) {
			$form['categories']["category$i"]->addConditionOn($form['categories']["category$y"], ~Form::FILLED);

			// pri opätovnom cykle by som sa ale potreboval dostať do kontextu tejto podmienky ...
		}

		// tu by som sa opäť potreboval dostať do kontextu podmienky aby som mohol pridať addRule(Form::FILLED) ...
	}
}

Poprípade ako inak by sa to dalo spraviť ?

Editoval ricco24 (12. 8. 2012 16:52)

ruller
Člen | 29
+
0
-

ak ťa nenapadne nič iné tak môžeš po odoslaní formulára testovať či su položky vyplnené a keď niektorá nie je tak pridáš

$values=$form->getValues();
for($i = 1; $i <= $max_categories; $i++) {
if($values["categories"]["category".$i]===''){
$form->addError('bla');
		}
	}

netestované :))

Jan Endel
Člen | 1016
+
0
-

Nepomohl by tento addon?

Editoval pilec (17. 8. 2012 11:49)