Nette Framework – nejastnost vo Formularoch

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

Pozdravujem znovu :-) Chcem sa spytat, … chcem vytvarat formulare pomocou tovarnicky … a k nej je pridavna funkcia (podla navodu), ktora sa vola po spravnom odoslani formulara … ale mne nejak nefunguje … teda lamem si hlavu na co teda je, aj ked to tam mam napisane, neviem preco mi nefunguje

<?php

protected function createComponentSignInForm()
    {
        $form = new UI\Form;
        $form->addText('name', 'Jméno:');
        $form->addPassword('password', 'Heslo:');
        $form->addSubmit('login', 'Přihlásit se');
        $form->onSuccess[] = callback($this, 'signInFormSubmitted');
        return $form;
    }

    // volá se po úspěšném odeslání formuláře
    public function signInFormSubmitted(UI\Form $form)
    {
        $values = $form->getValues();
        ...
        $this->flashMessage('Byl jsi úspěšně přihlášen.');
        $this->redirect('Homepage:');
    }

?>

skor mi funguje, ked dam

<?php

if($form->isSuccess())
...

?>

Editoval Takeshi (31. 8. 2013 18:32)

jiri.pudil
Nette Blogger | 1032
+
0
-

Vytváříš skutečně Nette\Application\UI\Form, jak máš naznačeno v kódu? Není to náhodou Nette\Forms\Form?

Takeshi
Člen | 596
+
0
-

jiri.pudil napsal(a):

Vytváříš skutečně Nette\Application\UI\Form, jak máš naznačeno v kódu? Není to náhodou Nette\Forms\Form?

Diky, mal si pravdu :-) A ked uz sme pri tom. Aky je medzi tum rozdiel?

jiri.pudil
Nette Blogger | 1032
+
0
-

UI\Form rozšiřuje Forms\Form právě o podporu signálů, díky které se události formuláře vyvolávají automaticky po jeho odeslání.