onValidate – rozpoznat submit button

Kcko
Člen | 465
+
0
-

Ahoj,

mám na formuláři onValidate, která expost validuje x věcí a dále několik submitů ve formuláři, z nichž jeden skutečně formulář odesílá a další jsou skryté (s vypnutým validationScope, sloužící jako handlery pro např. načtení ajaxových věcí do formuláře (ARES atd)).

Problém je, že se mi onValidate spustí vždy at se formulář odešle jakýmkoliv submitem.

Jde nějak rozpoznat, který submit odeslal formulář v onValidate?

Pepino
Člen | 249
+
+2
-
Kcko
Člen | 465
+
0
-

Pepino napsal(a):

https://doc.nette.org/…rms/controls#… isSubmittedBy nefunguje?

Funguje. Tohle sem zapomněl a když jsem včera hledal, tak přehlédl. Díky moc.

m.brecher
Generous Backer | 758
+
-1
-

@Kcko

Jde nějak rozpoznat, který submit odeslal formulář v onValidate?

V dokumentaci není uvedeno, ale funguje spolehlivě:

$form->isSubmitted()   # vrací objekt tlačítka, které odeslalo formulář, nebo false, pokud odeslán nebyl
MajklNajt
Člen | 471
+
0
-

m.brecher napsal(a):

@Kcko

Jde nějak rozpoznat, který submit odeslal formulář v onValidate?

V dokumentaci není uvedeno, ale funguje spolehlivě:

$form->isSubmitted()   # vrací objekt tlačítka, které odeslalo formulář, nebo false, pokud odeslán nebyl

pozor na prípady, kedy vracia iba holé true, napríklad niektoré crawlery submitujú formuláre bez použitia buttonov

Kcko
Člen | 465
+
0
-

m.brecher napsal(a):

@Kcko

Jde nějak rozpoznat, který submit odeslal formulář v onValidate?

V dokumentaci není uvedeno, ale funguje spolehlivě:

$form->isSubmitted()   # vrací objekt tlačítka, které odeslalo formulář, nebo false, pokud odeslán nebyl

Testnu; díky.