odeslani formulare – onInvalidSubmit
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
 
- geosup
- Člen | 16
Prosim vas, v jakem pripade se vola metoda onInvalidSubmit ? … je mi jasne, ze se vola v pripade, ze odeslany formular je nevalidni. Ale jde mi o to, podle ceho se rozhoduje, ze je odeslany formular nevalidni.
Mam totiz vytvoreny jednoduchy prihlasovaci formular (bez pridanych pravidel), ktery posleze v sablone vykresluju pomoci FormMacros. V Nette alpha mi to fungovalo a v pohode se volala metoda formSubmited, ale po prechodu na betu mi to z me neznamych duvodu vola onInvalidSubmit.
Nevite v cem by mohl byt problem, prosim ?
 
- geosup
- Člen | 16
LoginForm.php
		$this->addProtection('Vypršela platnost.');
		$this->addText('login');
                $this['login']->getControlPrototype()->class('graphic');
		$this->addPassword('password');
                $this['password']->getControlPrototype()->class('graphic');
		$this->addSubmit('send');
                $this['send']->getControlPrototype()->class('graphic');
		$this->onSubmit[] = 'formSubmited';
                $this->getElementPrototype()->style['padding-top'] = '25px';
                $this->getElementPrototype()->style['padding-left'] = '20px';
v sablone:
{form loginForm}
    <table>
        <tr>
            <td>{label login}Přihlašovací jméno:{/label}</td>
            <td>{input login}</td>
        </tr>
        <tr>
            <td>{label password}Heslo:{/label}</td>
            <td>{input password}</td>
        </tr>
        <tr>
            <td></td>
            <td>{input send, value => "Přihlásit"}</td>
        </tr>
    </table>
{/form}
 
- Jan Tvrdík
- Nette guru | 2595
- Když nepoužiješ FormMacros, bude se to chovat stejně?
- Dumpni si po odeslání $form->getErrors()
- Zkus zakomentovat $form->addProtection
 
- 22
- Člen | 1478
nevím, jakou máš verzi Nette, ale i tak definice toho formu mi přijde dost divná!!
use Nette\Application\UI\Form //pro namespace verzi
protected function createComponentForm($name)
{
	$form = new Form($this, $name);
	$form->addText('login', 'Login:')
	....
	return $form;
}
takže tvoje $this tam dost nechápu…projdi si exmples
z distribuce..
