Jak funguje onInvalidClick v \Nette\Application?
- Yogi
- Člen | 6
Zdravím,
mám hotovou základní strukturu webu podle skeletonu. Na homepage je
primitivní formulář a řeším teď základní principy práce
s formulářem v rámci MVP (\Nette\Application). V HomepagePresenter.php
jsem si udělal metodu vytvářející form (nevolá akorát konstruktor
samostatné komponenty v /app/components, ale tvoří jej natvrdo).
Chápu princip odeslání formu přes onClick s navázáním na metodu obslužného handleru. Nepochopil jsem už, jak použít onInvalidClick. Dává se stejně jako onClick k addSubmit s uvedením handleru obsluhujícího nesprávně vyplněný nebo neúplný formulář?
Druhá drobnost, kterou sice chápu, ale netušim kam ji v rámci presenteru dát, je nastavení defaultních hodnot – viz. kód.
<?php
if (!$form->isSubmitted()) {
// první zobrazení, nastavíme výchozí hodnoty
$form->setDefaults($defaults);
}
?>
Nikde jsem nenašel polopatě vysvětlený tyhle základní věci, tak se s tim mořim nehorázně dlouho :) Začátky jsou docela krutý a zasekávám se většinou na pytlovinách.
Díky,
Standa
- Majkl578
- Moderator | 1364
Je to prosím Nette\Application, bez úvodního lomítka.
V MVP se komponenty řeší pomocí továrniček, popsané je to v dokumentaci AppFormu.
Default hodnoty můžeš nastavit třeba už v továrničce, pokud je
formulář odeslán, Nette je automaticky nenastaví (link).
onInvalidClick se zavolá při odeslaném nevalidním formuláři.
Editoval Majkl578 (31. 3. 2010 1:33)