odeslani formulare – onInvalidSubmit

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

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 ?

mkoubik
Člen | 728
+
0
-

Hoď sem definici formuláře z továrničky, takhle ti těžko někdo poradí.

geosup
Člen | 16
+
0
-

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}
geosup
Člen | 16
+
0
-

To mi opravdu nikdo nedokaze poradit, kde bych aspon mel hledat? :( … nepotrebuju od nikoho ten problem vyresit, staci mi jen nasmerovat … ja uz si s tim nevim rady a nemuzu prijit na to, proc se mi to chova, jako by ten formular byl nevalidni, kdyz validni je :(

Jan Tvrdík
Nette guru | 2595
+
0
-
  • Když nepoužiješ FormMacros, bude se to chovat stejně?
  • Dumpni si po odeslání $form->getErrors()
  • Zkus zakomentovat $form->addProtection
22
Člen | 1478
+
0
-

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..