Přidání default hodnoty do formuláře vyvolá The signal receiver component vyjímku

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

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
+
0
-

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)