ZAWWW-2st1.2-w10.tresc-1.0-Slajd6
Walidacja
Walidacja, czyli sprawdzenie poprawności danych, może zachodzić zarówno po stronie klienta, jak i po stronie serwera. Walidacja po stronie klienta jest za zwyczaj znacznie prostsza i implementowana w postaci kodu napisanego w języku skryptowym (np. JavaScript) osadzonym w widoku. Tego typu walidacja najczęściej dotyczy podstawowych testów: czy wszystkie wymagane pola zostały wypełnione, czy wprowadzone dane mają poprawny format (liczba, kod pocztowy, nazwisko, adres email), ew. czy wprowadzone dane są zgodne z wzorcowymi wyrażeniami regularnymi. Walidacja po stronie klienta jest niewystarczająca, w celu przeprowadzenia zaawansowanych testów konieczne jest przeniesienie części walidacji na stronę serwera. Po stronie serwera walidacja może być przeprowadzona na dwa sposoby. Walidacja oparta na formularzu polega na powiązaniu każdego formularza z kodem walidującym, który może dokonać sprawdzenia złożonych ograniczeń integralnościowych. Takie rozwiązanie jest popularne w wielu architekturach szkieletowych, np. Apache Struts. Wadą jest brak centralizacji i rozbicie walidacji na wiele niezależnych modułów powiązanych z poszczególnymi formularzami. Alternatywą jest walidacja bazująca na typach abstrakcyjnych. Taka walidacja powoduje wyłączenie metadanych i ograniczeń narzuconych na stan modelu z logiki aplikacji oraz centralizację metod walidacji. Metadane i ograniczenia są zapisywane w plikach konfiguracyjnych lub bazie danych, poszczególne procedury obsługi formularzy nie posiadają własnego kodu walidującego lecz korzystają ze wspólnej, ujednoliconej wersji.