Walidacja formularzy na stronach internetowych

Co to jest walidacja
Walidacja ma dwa podstawowe zadania. Po pierwsze ma zabezpieczać formularz przed nieautoryzowanym wykorzystaniem czyli przed włamaniem. Wszelkie formularze są kluczowym elementem systemów w kwestii bezpieczeństwa. Ponieważ dajemy użytkownikom dostęp do modyfikowania naszej bazy danych - nie możemy pozwolić na uzyskanie większych uprawnień niż im na to pozwalamy.Na przykład: użytkownik wprowadza odpowiednio spreparowane dane dzięki którym rejestruje się jako administrator serwisu i ma dostęp do modyfikowania całości zawartości. W ten sposób przejmuje kontrolę i pozbawia nas ważnych danych.
Drugim ważnym aspektem jest pomoc użytkownikowi w prawidłowym wypełnieniu formularza. Na przykład użytkownik podaje e-mail w złym formacje, co sprawia że nie otrzyma on automatycznie wygenerowanej wiadomości. Dzięki walidacji, jesteśmy w stanie ustrzec się prostych błędów które są często popełniane przez ludzi.
W systemach online wyróżniamy dwa rodzaje walidacji:
- Walidacja po stronie serwera
- Walidacja po stronie klienta (przeglądarki internetowej)
Zadaniem serwera jest czuwanie nad bezpieczeństwem i integralnością danych. Powinien on również mieć wszelkie mechanizmy które są potrzebne do pomocy użytkownikowi w wypełnieniu danych na wypadek gdyby użytkownik nie posiadał włączonej obsługi skryptów JavaScript.
Walidacja po stronie przeglądarki
Walidacja po stronie klienta w zasadzie ma tylko jedną funkcję. Pomoc dla użytkownika. Ze względu na swoją specyfikację nie możemy jej ufać w 100%. Dlatego serwer zawsze powinien posiadać dodatkową walidację. Ze względu na to że serwer musi przesłać wszystkie dane a później zwrócić odpowiedni komunikat warto sprawdzać dane od razu na komputerze użytkownika. Walidacja po stronie przeglądarki sprawia że użytkownik nie musi czekać na odpowiedź serwera a my oszczędzamy na niepotrzebnym transferze danych. Ponadto przeglądarka potrafi wprowadzić mechanizmy które będą bardziej przyjazne dla wprowadzającego. Na przykład sprawdzać długość hasła od razu po jego wprowadzeniu a nie czekać na wciśniecie przycisku.
Podsumowując, oba rodzaje walidacji są niezbędne do bezpiecznego i przyjaznego funkcjonowania systemu. Zakładając jednak że chcemy zrezygnować z któregoś rodzaju, pozostawmy walidację po stronie serwerze. Nie ucierpi przy tym bezpieczeństwo. Minusem będzie jednak utrudnienie w korzystaniu z systemu.
Walidacja przez JavaScript vs Walidacja HTML5
Wszystko w założeniach wygląda bardzo dobrze i wydaje się oczywiste. Jestem pewny że przyszłość właśnie tak będzie wyglądała. Na dzień dzisiejszy jednak walidacja poprzez HTML5 nie została w pełni zaimplementowana i posiada istotne błędy. Np. walidując pola, przeglądarka sprawdza poprawność danych w momencie próby wysyłania formularza. Mało tego, każde pole jest sprawdzane osobno. Sprawia to że nie użytkownik traci niepotrzebnie czas.
Z tego względu warto w dalszym ciągu korzystać z gotowych bibliotek JS. Przykładem skryptów są JQuery Validate lub jQuery.validVal
Dzięki gotowym otwartym bibliotekom twórcy stron mogą skupić się na prawidłowym działaniu strony i nie przejmować tworzeniem kodu od podstaw.
Na co warto zwrócić uwagę przy walidacji po stronie klienta
- Komunikaty powinny być wyraźne i zrozumiałe dla użytkownika. Niedozwolone jest wyświetlanie numerów błędu i kodu niezrozumiałego dla osoby korzystającej z formularza. Częstym błędem jest też brak komunikatu przez co użytkownik jest zdezorientowany i nie wie o co chodzi.
- Walidacja każdego pola powinna następować zaraz po wprowadzeniu danych. Oszczędzamy dzięki temu czas oraz nerwy użytkowników.
- Niedozwoloną sytuacją jest wykasowanie danych z formularza w przypadku wystąpienia błędów. User który wypełni raz formularz i zostanie poproszony o ponowne wypełnienie ponieważ wystąpiły błędy prawdopodobnie opuści naszą stronę.
Komentarze
Prześlij komentarz