nefunkcni podminka addConditionOn v low-level formulari

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

Zdravim,
mam formular, ktery ma nekolik statickych polozek (treba customer_id, note)
a pak dalsi ktere ziskam az dynamicky dotazem z modelu – treba pres actionXXX.
Proto ten form vykresluju v sablone manualne.
Funguje to vsechno az na zavislou validaci addConditionOn. Pokud form vykreslim pres makro {control} tak to je OK.
Jak to prosim resit ?

PRESENTER

$form->addText('customer_id', 'Zákazník ID:')
$form->addText('note', 'Poznámka:')
	// tohle nefunguje
	->addConditionOn($form['customer_id'], UI\Form::BLANK)->setRequired('Nutno vyplnit');

$form->onSuccess[] = function(UI\Form $form) {
$values = $form->getHttpData($form::DATA_TEXT | $form::DATA_KEYS, 'form[]');


public function actionXXX()
{
        $this->template->form_items = $this->xxxManager->getFormItems();
}

TEPMLATE

{form eetReceiptForm class=>"form-horizontal"}
	<div class="form-group">
		<label n:name="customer_id" class="control-label">{$form[customer_id]->caption}</label>
        <input n:name="customer_id" name="form[customer_id]" class="form-control">
    </div>
	<div class="form-group">
     	<label n:name="note" class="control-label">{$form[note]->caption}</label>
		<input n:name="note" name="form[note]" class="form-control">
	</div>

	{foreach $form_items as $i}
		<div class="form-group">
        	<label class="control-label">{$i['nazev']}</label>
            <label class="control-label">{$i['cena']}</label>
			<input type="text" name="form[{$i['kod']}]" class="form-control" placeholder="">
            <label class="control-label">{$i['mj']}</label>
    {/foreach}
{/form}
jiri.pudil
Nette Blogger | 1028
+
+1
-

Já bych řekl, že ta validace funguje, jen prostě nikde nevypisuješ chyby :)

<div n:foreach="$form->errors as $error">{$error}</div>
pp
Člen | 48
+
0
-

Ja měl na mysli JS validaci – používám addon Nette-live-form-validation.

Mel jsem problem v pojmenovani INPUTu. V low-level vypisu v latte jsem si je pojmenoval hloupe formou pole form[] a v ramci presenteru se odkazuju na komponetu $form – to me zmatlo.