Přidání default hodnoty do formuláře vyvolá The signal receiver component vyjímku
- roghir@centrum.cz
- Člen | 1
Dobrý den,
řeším problém s formuláři v Nette. Pokud použiji ve formuláři
SELECT, kterému definuji výchozí hodnotu, při submitu se vyhodí vyjímka
The signal receiver component ‚editForm‘ is not found.
Příklad formuláře funkčního:
<?php
$form = new UI\Form;
$form->elementPrototype->addAttributes(array('class' => 'frmDetail', 'role' => 'form'));
$form->addHidden('dataid', intval($data->id));
$form->addText('name', "NAME")->setDefaultValue($data->name)->setAttribute('class', 'form-control');
$form->addSelect("parent_id", "MENU", $slData);
$form->onSuccess[] = callback($this, 'EditFormSubmitted');
return $form;
?>
Problém nastává při drobné změně v řádku s addSelect:
<?php
$form = new UI\Form;
$form->elementPrototype->addAttributes(array('class' => 'frmDetail', 'role' => 'form'));
$form->addHidden('dataid', intval($data->id));
$form->addText('name', "NAME")->setDefaultValue($data->name)->setAttribute('class', 'form-control');
$form->addSelect("parent_id", "MENU", $slData)->setDefaultValue($defaultDataValue);
$form->onSuccess[] = callback($this, 'EditFormSubmitted');
return $form;
?>
Pro upřesnění, dříve jsem používal Nette 2.0 a nyní jsem přešel na 2.7. V předchozí verzi mi formulář fungoval. Při řešení problémů jsem zkoušel i nastavovat default hodnoty formuláře přes form->setDefaults, ale se stejným výsledkem.
děkuji za Vaše postřehy a rady.
R
- Šaman
- Člen | 2666
Nějak se mi to nezdá. Ukaž spíš, kde formulář vytváříš,
případně jak ho nastavuješ. Nepracuješ s ním v nějaké render metodě?
Nebo v konstruktoru? Imho pes bude zakopán někde tam.
P.S. Nette 2.7 není. Myslíš 2.0.7? To by mělo být plně zpětně
kompatibilní se stabilní 2.0
Editoval Šaman (16. 2. 2015 21:43)