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
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
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é :))