Przejdź do głównej zawartości

Walidacja danych po stronie klienta

Walidacja po stronie klienta

Walidacja kliencka to sprawdzanie danych formularza bezposrednio w przegladarce użytkownika, zanim zostan wysłane na serwer. Poprawia doswiadczenie użytkownika (UX) dzieki natychmiastowej informacji zwrotnej, ale nie może zastapic walidacji serwerowej że wzgledow bezpieczeństwa.

  • Lepszy UX - użytkownik od razu wie o błędach bez czekania na odpowiedz serwera
  • Mniejsze obciazenie serwera - błędne formularze nie sa wysyłane
  • Swiadomosc ograniczeń - rozumiesz, dlaczego to nie wystarczy do bezpieczeństwa
  1. Rozumiec role walidacji klienckiej w UX i jej ograniczenia
  2. Umiec wyjaśnić różnicę miedzy walidacja HTML5 a JavaScript
  3. Potrafic pokazac przykłady walidacji z atrybutami HTML5 i kodem JS
  4. Wiedzieć, jak walidacja kliencka współpracuje z serwerowa
  1. Czym jest walidacja kliencka

    • Definicja i cel
    • Wykonanie w przegladarce użytkownika
  2. Walidacja HTML5

    • Atrybuty: required, pattern, type, min, max, minlength, maxlength
    • Automatyczne komunikaty błędów
    • Stylowanie z :valid i :invalid
  3. Walidacja w JavaScript

    • Constraint Validation API
    • Obsługa zdarzenia submit
    • Własne komunikaty błędów
  4. Ograniczenia walidacji klienckiej

    • Możliwość wyłączenia JavaScript
    • Manipulacja przez narzedzia deweloperskie
    • Dlaczego nie zastepuje walidacji serwerowej
  5. Porownanie z walidacja serwerowa

    • Różnicę w celu i zastosowaniu
    • Strategia “obie walidacje”

Przykład 1

Formularz HTML5 - pokaz atrybuty required, type=“email”, pattern

Przykład 2

Atrybut pattern - użyj wyrażenia regularnego do walidacji formatu

Przykład 3

Walidacja JS - sprawdz długość pola lub zgodnosc haseł w JavaScript

Przykład 4

Zdarzenie submit - zapobiegaj wysłaniu formularza przy błędach

  • Constraint Validation API (setCustomValidity, reportValidity)
  • Stylowanie stanow walidacji w CSS (:valid, :invalid, :focus)
  • Walidacja w czasie rzeczywistym (zdarzenie input)
  • Dostepnosc (ARIA) w komunikatach błędów
  • Demonstracja obejscia walidacji (wyłączenie JS, DevTools)
  1. Wstep (0.5 strony) - UX a bezpieczeństwo
  2. Walidacja HTML5 (1.5 strony) - atrybuty, przykłady, stylowanie
  3. Walidacja JavaScript (1.5 strony) - zdarzenia, API, przykłady kodu
  4. Ograniczenia i obejscia (1 strona) - dlaczego to nie wystarczy
  5. Porownanie z PHP (0.5 strony) - kiedy używać której
  6. Podsumowanie (0.5 strony)
  7. Bibliografia
  1. Czy można wyłączyć walidacje w przegladarce? Jak?
  2. Dlaczego walidacja JS nie chroni serwera przed złośliwymi danymi?
  3. Jakie sa zalety walidacji po stronie klienta?
  4. Jak działa atrybut pattern w HTML5?
  5. Czym jest Constraint Validation API?
  6. Jak ustawic własny komunikat błędu w JavaScript?

To więcej niz praca zaliczeniowa

Opracowanie tego tematu to szansa, by naprawde zrozumiec jak poprawic UX formularzy i dlaczego walidacja kliencka to dopiero początek.

Wykorzystaj lekcje - konsultuj watpliwosci, pokazuj postepy! Pracuj iteracyjnie - outline -> draft -> kod -> redakcja