Mateusz Tracz

Mateusz Tracz Programista

Temat: Waidacja pól formularza w locie

Są jakieś gotowe klasy do czegoś takiego? Polecacie jakieś? Czy pisać samemu najlepiej?

konto usunięte

Temat: Waidacja pól formularza w locie

http://bassistance.de/jquery-plugins/jquery-plugin-val...
polecam :)
Mateusz Tracz

Mateusz Tracz Programista

Temat: Waidacja pól formularza w locie

No tak...jquery, w sumie to racja. Nie warto na siłę używać czystego JS myśląc, ze to daje wydajność?

konto usunięte

Temat: Waidacja pól formularza w locie

Mateusz Tracz:
No tak...jquery, w sumie to racja. Nie warto na siłę używać czystego JS myśląc, ze to daje wydajność?

Wydajność czego ?
Mateusz Tracz

Mateusz Tracz Programista

Temat: Waidacja pól formularza w locie

Strony. Zakładając, że będzie używana w wewnętrznym środowisku złożonym ze słabych maszyn.

konto usunięte

Temat: Waidacja pól formularza w locie

Mateusz Tracz:
No tak...jquery, w sumie to racja. Nie warto na siłę używać czystego JS myśląc, ze to daje wydajność?
Nie warto. Lepiej swoją produktywność zachować na rozwój innych elementów strony. Nie warto wynajdywać koła na nowo, zwłaszcza jeśli miałoby być kwadratowe czy jakieś zniekształcone :) bo nie uwierzę, że napisałbyś lepszy kod niż John Resig, główny twóca jQuery (który na koncie ma także kilka książek i wiele innych osiągnieć). Zawsze możesz spróbować.
Piotr Szmielew

Piotr Szmielew Mentor Ruby on Rails

Temat: Waidacja pól formularza w locie

Mateusz Tracz:
No tak...jquery, w sumie to racja. Nie warto na siłę używać czystego JS myśląc, ze to daje wydajność?
to brzmi jak premature optimization. jeśli wydajność będzie zbyt niska - będziesz szukać jej przyczyn, ale osobiście wątpię, żeby taka sytuacja miała miejsce. a nawet jeśli to raczej winne nie będzie jquery ;)Piotr Szmielew edytował(a) ten post dnia 11.09.09 o godzinie 20:31
Mateusz Tracz

Mateusz Tracz Programista

Temat: Waidacja pól formularza w locie

No dobrze, dzięki za odpowiedzi. Plugin wydaję się fajny.

konto usunięte

Temat: Waidacja pól formularza w locie

Nawiasem mówiąc, dobrze by było, gdybyś poznał także teorię. Choć samo wykorzystanie jQuery jest banalnie proste, warto by było wiedzieć, jak dane mechanizmy działają.

Zapis:
$('#img1').animate({width: "70%", opacity: 0.4, borderWidth: "10px"}, 1500 );

czy
$('#img1').attr('width', '100%');

są bardzo proste do wykonania w obu przypadkach.

Jednak znając działanie tego języka, szybko dojdziesz do wniosku, iż 1 metoda wymaga zdecydowanie więcej operacji i działań ze strony frameworka. Nieznajomość języka JavaScript, a jedynie poznanie zasad działania FW może mieć tragniczne skutki.
Marcin Ważny

Marcin Ważny Student, Wyższa
Szkoła Informatyki i
Zarządzania w
Rzeszowie

Temat: Waidacja pól formularza w locie

Kamil Brenk:
Mateusz Tracz:
No tak...jquery, w sumie to racja. Nie warto na siłę używać czystego JS myśląc, ze to daje wydajność?
Nie warto. Lepiej swoją produktywność zachować na rozwój innych elementów strony. Nie warto wynajdywać koła na nowo, zwłaszcza jeśli miałoby być kwadratowe czy jakieś zniekształcone :) bo nie uwierzę, że napisałbyś lepszy kod niż John Resig, główny twóca jQuery (który na koncie ma także kilka książek i wiele innych osiągnieć). Zawsze możesz spróbować.

A ja uważam, że warto wbrew temu, że trzeba poświęcić czas i nie chodzi tu o wydajność, tylko coraz więcej jest ludzi, którzy piszą na forum o swoich problemach z JavaScript, prezentując kod jQuery.

Pozdrawiam
Marcin
Mateusz Tracz

Mateusz Tracz Programista

Temat: Waidacja pól formularza w locie

Kamil Brenk:
Jednak znając działanie tego języka, szybko dojdziesz do wniosku, iż 1 metoda wymaga zdecydowanie więcej operacji i działań ze strony frameworka. Nieznajomość języka JavaScript, a jedynie poznanie zasad działania FW może mieć tragniczne skutki.

Bez obaw.
> Marcin Ważny
>tylko coraz więcej jest ludzi, którzy piszą na forum o swoich >problemach z JavaScript, prezentując kod jQuery.
Jeśli nic nie wskazuje na to aby użyć czystego JS'a to myślę że kod w jquery nie jest czymś złym. Czyta go się dużo lepiej.
Bartek Stańkowski

Bartek Stańkowski front-end & mobile
web developer

Temat: Waidacja pól formularza w locie

Ok, jQuery jest super, proste, łatwe i w ogóle, a pluginów są tysiące.
Ale Mateusz, jeśli w projekcie nie używasz jQuery, to według mnie wrzucanie całej biblioteki tylko do walidacji, to błąd, bo pakujesz te 50KB + plugin, czyli kolejne 10-20KB i to tylko po to, żeby sprawdzić kilka pól formularza.

Jeśli nie potrzebujesz jakiegoś super skomplikowanego sprawdzania, walidację w jQuery łatwiej napisać samemu, co zajmie maks. 5KB, zamiast 20.

Ludzie wszędzie bezmyślnie pakują pluginy, a potem jak zajrzeć w kod strony, to w HEAD mamy całą listę dodatków. Nie wspominając już nawet o wydajności, każe się użytkownikowi ściągać 100-150KB kodu, którego 95% jest niepotrzebne i który dałoby się zastąpić 10KB własnej twórczości i godziną pracy.

A jeśli nie chcesz pisać, to przecież są też takie gotowce napisane w czystym JS, choćby LiveValidation.
Też łatwe w użyciu, udokumentowane o niebo lepiej niż wiele pluginów jQ, a waży niecałe 13KB.

A jeśli i tak chcesz użyć jQuery, to najlepiej podepnij bibliotekę z Google CDN. Przyspieszysz transfer i prawie na pewno użytkownik będzie miał ją już w cache'u przeglądarki.Bartek Stańkowski edytował(a) ten post dnia 11.09.09 o godzinie 22:15

konto usunięte

Temat: Waidacja pól formularza w locie

Bartek Stańkowski:
Ok, jQuery jest super, proste, łatwe i w ogóle, a pluginów są tysiące.
Ale Mateusz, jeśli w projekcie nie używasz jQuery, to według mnie wrzucanie całej biblioteki tylko do walidacji, to błąd, bo pakujesz te 50KB + plugin, czyli kolejne 10-20KB i to tylko po to, żeby sprawdzić kilka pól formularza.

Jeśli nie potrzebujesz jakiegoś super skomplikowanego sprawdzania, walidację w jQuery łatwiej napisać samemu, co zajmie maks. 5KB, zamiast 20.

Ludzie wszędzie bezmyślnie pakują pluginy, a potem jak zajrzeć w kod strony, to w HEAD mamy całą listę dodatków. Nie wspominając już nawet o wydajności, każe się użytkownikowi ściągać 100-150KB kodu, którego 95% jest niepotrzebne i który dałoby się zastąpić 10KB własnej twórczości i godziną pracy.

A jeśli nie chcesz pisać, to przecież są też takie gotowce napisane w czystym JS, choćby LiveValidation.
Też łatwe w użyciu, udokumentowane o niebo lepiej niż wiele pluginów jQ, a waży niecałe 13KB.

A jeśli i tak chcesz użyć jQuery, to najlepiej podepnij bibliotekę z Google CDN. Przyspieszysz transfer i prawie na pewno użytkownik będzie miał ją już w cache'u przeglądarki.Bartek Stańkowski edytował(a) ten post dnia 11.09.09 o godzinie 22:15

Oczywiście jest to racja. Frameworki oduczają myślenia, a przynajmniej ostro ograniczają. Nie warto też stosować wielkich bibliotek do małych zadań.

Mateusz, jeśli potrzebujesz do strony jedynie skrypt walidujący formularze, to sam napisz. Kilkanaście linijek i masz podstawowe wsparcie po stronie klienta. Zmieścisz się nawet w 1 kb.

Btw. idąc radą Bartka, olej również wspomniane LiveValidation. Masz tam wiele metod, których na pewno nie wykorzystasz. Załadujesz do strony całe 13 kb, a śmiało mógłbyś się zmieścić w 3.

Idąc jeszcze dalej tym tokiem myślenia, równie dobrze można olać programowanie obiektowe. Przecież kod strukturalny wykonuje się szybciej... :-)
Mateusz Tracz

Mateusz Tracz Programista

Temat: Waidacja pól formularza w locie

Ten plugin do jquery już w zasadzie ogarnąłem i już mi działa, ale z tego co piszecie, to chyba warto spróbować w JS to samemu napisać. Na razie zostanie tak a przy chwili wolnego czasu wezmę się za napisanie tego samemu, będzie w sumie lepiej dopasowane do mojego projektu niż gotowiec.
Bartek Stańkowski

Bartek Stańkowski front-end & mobile
web developer

Temat: Waidacja pól formularza w locie

Kamil Brenk:
Btw. idąc radą Bartka, olej również wspomniane LiveValidation. Masz tam wiele metod, których na pewno nie wykorzystasz. Załadujesz do strony całe 13 kb, a śmiało mógłbyś się zmieścić w 3.

Idąc jeszcze dalej tym tokiem myślenia, równie dobrze można olać programowanie obiektowe. Przecież kod strukturalny wykonuje się szybciej... :-)

Trochę się zapędziłeś... ;]
Przemysław Kocznur

Przemysław Kocznur Software Engineer
PHP7 / Symfony2

Temat: Waidacja pól formularza w locie

Kamil Brenk:
Oczywiście jest to racja. Frameworki oduczają myślenia, a przynajmniej ostro ograniczają

Frameworki oduczaja myslec??? Bzdura!

konto usunięte

Temat: Waidacja pól formularza w locie

Przemysław Kocznur:
Frameworki oduczaja myslec??? Bzdura!
Frameworki znacząco ułatwiają pracę programistów. Jednak jak napisałem wcześniej, stosując wbudowane funkcje (bez szerszej wiedzy o tym, co dzieje się w tle) można stworzyć ociążałego i niewydajnego potworka.

Przykład: zapętlanie metod, w których każdorazowo odwołujemy się do bazy danych.

konto usunięte

Temat: Waidacja pól formularza w locie

Są jakieś gotowe klasy do czegoś takiego? Polecacie jakieś? Czy pisać samemu najlepiej?
Temat validacji w UI zawsze jest gorący, bo wymaga wplecenia logiki biznesowej do części prezentacyjnej. Z tego powodu, że trzeba nad tym panować zawsze wolę to robić samemu. Jeżeli chodzi o UI to po prostu sprawdzam zawartość pola np. do RegExp i po stwierdzeniu błędu dynamicznie przez jQuery dodaję proste wrażenia graficzne np. $(element).addClass('error').attr('title','przyczyna błędu') lub $(element).removeClass('error').attr('title','')

Natomiast aby zapanować nad tym napisałem własny mini framework - przelatuję po wszystkich polach formularza $('selector').each i dla każdego elementu sprawdzam obecność mojego atrybutu:
<input type="text" myNamespace:attrType="PESEL" />
i po prostu w zależności od wartości mojego atrybutu myNamespace:attrType podejmuję stosowne działania. W ten sposób dodając nowe pola na formularzu muszę tylko deklaratywnie określić co i jak walidować.

Ułatwia to problem zarządzania walidacją wyłącznie na poziomie pojedynczego pola. Jeżeli są zależności pomiędzy to i tak biznesową logikę ręcznie koduję w JS używając ifów, switchów itd. W efekcie często tak bywa, że logikę biznesową muszę oddzielnie utrzymywać na kliencie w JS, na serwerze (u mnie C#) i dodatkowo na SQL Serwerze. Są to trzy różne języki i cienko widzę możliwość unifikacji.
Marcin Laber

Marcin Laber internet
technologies
magician

Temat: Waidacja pól formularza w locie

http://vanadiumjs.com/ - dzieło Polaka zresztą ;)
Szymon Piłkowski

Szymon Piłkowski Senior JavaScript
Developer

Temat: Waidacja pól formularza w locie

Marcin L.:
http://vanadiumjs.com/ - dzieło Polaka zresztą ;)

mimo, że Polaka, to mnie nie przekonuje jakoś. nazwy klas mają odpowiadać za walidację? a gdzie rozdzielenie js-zachowanie, html-struktura... itp? to tylko przykład, minusów jest wiele.

Następna dyskusja:

Appendchild - i dodawanie p...




Wyślij zaproszenie do