Podmienka – vyplneny aspon jeden input v generovanych inputoch

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

Zdravim. Mam taku otazku – generujem si inputy v cykle:

$form->addText($inputPrefix.$a, '')
    ->setAttribute('data-input-nr', $a)
    ->getControlPrototype()
    ->addClass('enabled');

$form[$inputPrefix.$a]->addCondition(Form::FILLED)
    ->addRule(Form::NUMERIC, 'Hodnota musí být číslo');

V podstatne lubovolny pocet inputov s tym, ze ak akykolvek vyplnite tak tam je rule, ze to musi byt cislo.

Teraz tam este nejak potrebujem poriesit, ze ak nieje vyplneny ziaden input, tak vybehne hlaska, ze je nutne vyplnit aspon jeden input.

Doplnujuca otazka – da sa tento zapis spravit krajsi? Vsetko v jednom odseku? Tam je trochu problem, ze tie metody vratia stale inu classu – addClass() nemozem pouzit bez getControlPrototype ktory vrati classu ktora nepozna addRule a addRule mi vrati objekt s ktoreho sa uz neda volat getControlPrototype()…

Editoval MarekR (11. 5. 2016 15:31)

CZechBoY
Člen | 3608
+
0
-

Zápis mi připadá dost krátkej na to, aby se dal používat a nemusel jsem několik dní přemejšlet jak to vlastně všude používám…

Jiný zápis

$input = $form->addText($inputPrefix . $a);
$input
    ->setAttribute('data-input-nr', $a)
    ->getControlPrototype()
    ->addClass('enabled');
$input->addCondition(Form::FILLED)
    ->addRule(Form::NUMERIC, 'Hodnota musí být číslo');