• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Walidacja formularza

Object Storage Arubacloud
+1 głos
344 wizyt
pytanie zadane 24 czerwca 2022 w JavaScript przez AgentTecza Obywatel (1,810 p.)
Witam,

Mam pytanie jak zrobić dobrą walidację formularza w  javasript?

2 odpowiedzi

+2 głosów
odpowiedź 26 czerwca 2022 przez Comandeer Guru (602,540 p.)

Nie zgodzę się z tym, że najlepiej jest wykorzystać natywną walidację, bo ta jest od zawsze totalnie zepsuta i w dużej mierze niedostępna. Jeśli chcemy coś, co będzie równocześnie przyjazne użytkownikowi oraz dostępne, to trzeba mimo wszystko zrobić to samemu. W3C i gov.uk mają naprawdę fajne materiały na ten temat.

Osobiście stosowałbym natywną walidację w HTML jako ostateczną "linię obrony", gdyby JS z niestandardową walidacją z jakiejś przyczyny nie działał. Jednak jeśli będzie działać, to po prostu dodaję [novalidate] do formularza i używam istniejących atrybutów ([required][type] itd.) do zaserwowania własnej walidacji. Część bibliotek wspiera takie rozwiązanie.

komentarz 27 czerwca 2022 przez spamator12 Nałogowiec (28,230 p.)
"Jeśli chcemy coś, co będzie równocześnie przyjazne użytkownikowi oraz dostępne, to trzeba mimo wszystko zrobić to samemu. " dokladnie tak. Ba! Nie jest to takie proste, np walidacja maila wyglada tak:

http://www.ex-parrot.com/%7Epdw/Mail-RFC822-Address.html

Jak chcesz mu ladnie wyswietlic gdzie jest blad, to czeka Cie wyklepanie czegos takie samemu :) Juz nie wspominam o testach, seqiurze, ani laczeniu takich sprawdzen. A zalozenia, ze user ma zawsze wlaczony pelny JS, to tez tak z tym ronie bywa :)
+1 głos
odpowiedź 24 czerwca 2022 przez VBService Ekspert (254,490 p.)
edycja 26 czerwca 2022 przez VBService

Moim zdaniem nie warto za bardzo się skupiać na walidacji formularza za pomocą javascript-u, bo za pomocą devtools-a wbudowanego chyba już w każdą przeglądarkę można łatwo "obejść" taką walidację,

Front-end validation (javascript) can easily be bypassed. It should only be used to improve the "user experience" - by providing instant feedback

lepiej jest wykonać walidację w backend-dzie, jedyne co mogę polecić po stronie przeglądarki to użycie natywnej walidacji za pomocą atrybutów "wbudowanych" w elementy html (głównie <input>) używane w <form> np.:

oraz użyć odpowiednich typów <input> dla danych, które chcemy "pobrać" za pomocą formularza dla np.:

  • hasło -  <input type="password">
  • email -  <input type="email">
  •    link -  <input type="url"> itd.

 


[ EDIT ]

 Front-end validation (javascript) can easily be bypassed. It should only be used to improve the "user experience" - by providing instant feedback

1
komentarz 26 czerwca 2022 przez Comandeer Guru (602,540 p.)

Moim zdaniem nie warto za bardzo się skupiać na walidacji formularza za pomocą javascript-u, bo za pomocą devtools-a wbudowanego chyba już w każdą przeglądarkę można łatwo "obejść" taką walidację,

IMO pomijasz tutaj dość ważny aspekt: walidacja po stronie klienta nie ma służyć bezpieczeństwu, tylko podniesieniu UX. Usera nie obchodzi to, co dzieje się na backendzie, bo nie wchodzi z tym w interakcję. Wchodzi w interakcję z formularzem w przeglądarce i jeśli walidacja nie będzie przyjazna, zapewne nawet nie dokończy wypełniać formularza.

komentarz 26 czerwca 2022 przez VBService Ekspert (254,490 p.)

Jest w cytacie wzmianka o tym

Podobne pytania

+1 głos
2 odpowiedzi 1,160 wizyt
pytanie zadane 3 listopada 2020 w JavaScript przez ptomeccc Użytkownik (800 p.)
0 głosów
2 odpowiedzi 1,456 wizyt
pytanie zadane 18 października 2018 w JavaScript przez drraco Początkujący (370 p.)
0 głosów
1 odpowiedź 269 wizyt
pytanie zadane 6 października 2018 w JavaScript przez Sobol3k Użytkownik (690 p.)

92,662 zapytań

141,557 odpowiedzi

320,002 komentarzy

62,029 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...