Životní cyklus – action vs. signál

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

Ahoj,

potřeboval bych si ujasnit fázi životního cyklu presenteru, ve které se zpracovávají formuláře.

Příklad:

Mám actionDefault, ve které mám formulář. Formulář zpracovává metoda orderFormSucceeded, což se (pokud ne tak mě prosím opravte) volá jako signál.

Hlavní otázka tedy zní – pokud si něco ověřím v actionDefault – např. že je uživatel z ČR – můžu se spolehnout, že toto ověření proběhlo před zavoláním zpracování formuláře? tedy i pokud bych signál zavolal přímo přes URL a při AJAXových requestech?

https://files.nette.org/…fecycle2.gif

Nevím jestli jsem to popsal pochopitelně.

Díky

Editoval miler (9. 6. 2015 16:08)

Pavel Kravčík
Člen | 1196
+
0
-
public function actionDefault()
{
  dump('action');
  die;
}

public function handleDefault()
{
  dump('handle');
  die;
}
David Matějka
Moderator | 6445
+
+4
-

Ano, formular se zpracuje az po akci. Ale dej si pozor, ze uzivatel muze vyvolat zpracovani formulare i na jine akci, over si tedy, zda se komponenta vytvori pro akci, pro kterou je urcena.

miler
Člen | 75
+
0
-

Děkuju. Měl jsem v hlavě že jsem kdysi někde v kuchařce četl (ale zas tak jistý jako prezident si nejsem), že je potřeba (tam to bylo u ověřování práv) myslet i na signály, protože jsou volatelné přes URL a to mi právě hlodalo hlavou proč a to bude asi právě tím že se může komponenta vytvořit i v rámci jíné action.

Editoval miler (9. 6. 2015 16:21)

David Kudera
Člen | 455
+
+1
-

Mohl by ti pomoct tento odkaz , kde se to řešilo ;-)

miler
Člen | 75
+
0
-

Díky