Podivné chování formulářů po odeslání

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

Zdravím,

asi mám magické Nette nebo server. Stejným způsobem píši formuláře od doby, co jsem s Nette začal. Do teď fungovaly, jak měly. Nyní ale řeším problém, kdy vytvořím komponentu, vykreslím ji v šabloně, ale po stisknutí tlačítka na odeslání se sice daná metoda zavolá, ale nic neudělá.
Ukáži to na zdrojových kódech.

Presenter:

public function createComponentAddReferenceForm()
{
    $form = new Form();

    $form->addText('title', 'Titulek')
        ->setRequired('Prosím, vyplňte titulek.')
        ->addRule(FORM::MAX_LENGTH, 'Titulek je příliš dlouhý, maximální povolená délka je 200 znaků.', 200);

    $form->addTextArea('content', 'Obsah');

    $form->addText('technologies', 'Nástroje')
        ->setRequired('Prosím, vyplňte nástroje.')
        ->addRule(FORM::MAX_LENGTH, 'Nástroje jsou příliš dlouhé, maximální povolená délka je 400 znaků.', 400);

    $form->addUpload('img', 'Screenshot')
        ->addRule(FORM::IMAGE, 'Screenshot musí být JPEG, PNG nebo GIF.')
        ->addRule(FORM::MAX_FILE_SIZE, 'Screenshot je příliš velký, maximální velikost screenshotu je 5 MB.', 5000000);

    $form->addText('webpage', 'Adresa')
        ->addRule(FORM::MAX_LENGTH, 'Adresa je příliš dlouhá, maximální povolená délka je 100 znaků.', 100);

    $form->addSubmit('add', 'Upravit');

    $form->onSuccess[] = callback($this, 'addReferenceFormSubmitted');

    return $form;
    /**
     * @todo: Upload obrázku na server a uložení cesty do databáze
     */
}

public function addReferenceFormSubmitted(Form $form)
{
    $this->flashMessage('test', 'flashInfo');
}

Po odeslání onoho „magického“ formuláře, se flashMessage nevypíše. Problém mám pouze v tomto presenteru, v ostatních presenterech administrace to funguje, jak má.

22
Člen | 1478
+
0
-

Asi ti neproběhne onSuccess[], protože tam je nějaká chyba ve validaci.

Grelek
Člen | 233
+
0
-

Doufám, že jsem pouze přepracovaný a ne blbec.

Mám blbě vyřešená validační pravidla u screenshotu.

Díky za pošťouchnutí..

voda
Člen | 561
+
0
-

Máš správný namespace u use pro Form?

potty
Člen | 13
+
0
-

voda napsal(a):

Máš správný namespace u use pro Form?

Díky, měl jsem stejný problém s neodesíláním formuláře a bylo to špatným namespace. Místo Nette\Application\UI\Form jsem měl Nette\Forms\Form.

Toho bych si jinak vůbec nevšiml, jelikož to nevyhazuje žádnou chybu.

Editoval potty (24. 7. 2012 18:40)

tajo
Člen | 20
+
0
-

potty napsal(a):

voda napsal(a):

Máš správný namespace u use pro Form?

Díky, měl jsem stejný problém s neodesíláním formuláře a bylo to špatným namespace. Místo Nette\Application\UI\Form jsem měl Nette\Forms\Form.

Toho bych si jinak vůbec nevšiml, jelikož to nevyhazuje žádnou chybu.

S tímhle jsem také jednu půlhodinku strávil. :)