Nevalidní JSON u Form rules
- kubajz
- Člen | 47
Je nějaký důvod, proč jsou pravidla pro formuláře uložena v data atributu jako nevalidní JSON?
Právě řeším javascript pro formuláře a potřebuji se zbavit funkce eval, která se používá standardně v netteForms.js a tato skutečnost je pro mě docela velký opruz.
Editoval kubajz (21. 4. 2013 16:44)
- kubajz
- Člen | 47
Není jediná odlišnost to, že okolo nejsou […]?
Právě že ne, string musí být v uvozovkách – včetně klíčů, na rozdíl od objektu v JavaScriptu
Jaký k tomu máš důvod?
Google Closure Compiler – advanced mode
já si to sice upravím, jen mě to docela zarazilo, tak mě zajímá, proč je to implementováno zrovna takto.
- Jan Tvrdík
- Nette guru | 2595
@Majkl578: Je to delší a hůř čitelné, viz https://github.com/…l/1075/files#….
- Majkl578
- Moderator | 1364
Jak často si ty vygenerované rules čteš? Já jsem je přímo ve vygenerovaném kódu nečetl asi nikdy. Je to u tebe opravdu natolik často, že stojí za to obětovat univerzálnost (validní JSON)? Že je to delší je spíš výmluva než argument, protože kdyby se chtělo, určitě by to mohlo být i kratší (což není).
- hrach
- Člen | 1838
Jestli je argumentem pro generovani nejake nestandardni struktury vyhodnocovane evalem to, ze jsou tam hnusne entity a je to delsi, pak stujte pri nas vsichni svati.
Hur citelne to ve vyvojarskych nastrojich samozrejme neni. Pokud si @JanTvrdik prohlizi kod pres pres CTRL+U, pak mi, pravda, dochazi argumenty. http://screencast.com/t/DLlyP2kqP
- Jan Tvrdík
- Nette guru | 2595
@Majkl578, @hrach: Já nikde netvrdím, že jsem proti validnímu JSONu, ba naopak. To, že jsem schopen vidět argumenty protistrany, neznamená, že s ní souhlasím.
- David Grudl
- Nette Core | 8228
Používá se naprosto validní standardní formát podle ISO specifikace. Naopak tu usilujete o přechod na nějaký one-man-show výmysl ;-)
- David Grudl
- Nette Core | 8228
a = {op:':filled',msg:'Enter your age'},{op:':integer',msg:'...'};
is valid ;)
- thunderbuff
- Člen | 164
Majkl578 napsal(a):
Vyřešeno: 803fbb73, bude součástí 2.1.
Po tomhle commitu u mě na všech stránkách s formuláři dochází k javascriptové chybě.
„Uncaught TypeError: Cannot call method ‚match‘ of undefined“ v netteForms.js na řádku 267. V ničem jsem nedělal žádné modifikace, je to jen čístý 2.1 sandbox, formuláře renderuji DefaultFormRendererem z nette makrem {control mujFormular}
Editoval thunderbuff (19. 5. 2013 20:40)
- Majkl578
- Moderator | 1364
Řádek 267 je
prázdný.
EDIT: netteForms.js v sandboxu není aktualizovaný, použij ten z nette repositáře.