Ajax zpracování až po validaci formuláře

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

Zdravím,

mám formulář, klasicky přidávám class „ajax“ k submitu.
V callbacku onSuccess mám překreslení snippetu, který obaluje formulář.

  1. Všechny položky jsou povinné.
  2. Nevyplním ani jednu.
  3. Dám odeslat.
  4. Provede se Ajax a v developer tools vidím, že mi to vrátilo vlastně překreslenou stránku, jakobych ji odeslal bez JS validace (tj vypsané chyby nad formulářem).
  5. Snippet se však nepřekreslí, což je možná správně.

Co mě zajímá: Proč se provede ajaxové odeslání až po úspěšné JS validaci?
Btw: při vyplnění položek se vše provede samozřemě správně.

Používám nette-live-form-validation.

Editoval Landsman (8. 9. 2016 2:32)

chemix
Nette Core | 1310
+
0
-

jake verze nette? a co se stane kdyz pouzijes ciste nette.forms.js a jquery.nette.js

Jan Mikeš
Člen | 771
+
+1
-

Landsman napsal(a):

Co mě zajímá: Proč se provede ajaxové odeslání až po úspěšné JS validaci?

Jedná se o poměrně zavádějící typo? Nechtěl jsi napsat něco jako Proč se provede ajaxové odeslání bez JS validace?

Pošli jaké máš verze, taktéž používám ajax ve formulářích a live-form-validation.js (mírně upravenou verzi pro moje potřeby) a nevalidní formulář mi odeslat nejde – ajax se pošle až poté, co je formulář plně validní.

Editoval Lexi (8. 9. 2016 12:18)

Landsman
Člen | 152
+
0
-

@chemix Verze nette: 2.3.10. Vyzkouším čistý script.
@Lexi Asi máš pravdu tím subjectem. Ono se to tváří, že se neodešle, ale ten request to provede.

Btw: název tématu tu nelze měnit, že?

Editoval Landsman (8. 9. 2016 18:13)

Jan Mikeš
Člen | 771
+
0
-

Vím, že jsem jednou řešil problém s tím, že se mi nenavázala JS validace na formulář, který byl do DOMu přidán později, není to tvůj případ, nenačítáš formulář do šablony ajaxem/javascriptem?

Landsman
Člen | 152
+
0
-

Lexi napsal(a):

Vím, že jsem jednou řešil problém s tím, že se mi nenavázala JS validace na formulář, který byl do DOMu přidán později, není to tvůj případ, nenačítáš formulář do šablony ajaxem/javascriptem?

Nenačítám, je tam klasický ruční render v šabloně.
Kolem formuláře je snippet, který by ho měl překreslit po odeslání.

Jan Mikeš
Člen | 771
+
0
-

Jako další krok bych zkusil odkrokovat JS, jestli se pro daný formulář validace inicializuje (console.log() může být dobrým nástrojem).