Walidacja danych sprawdza, czy dane spełniają zdefiniowane reguły, zanim trafią do systemu. Czy adres e-mail jest poprawnie sformatowany? Czy wiek mieści się w dopuszczalnym zakresie? Czy wymagane pole jest wypełnione? Czy kod pocztowy jest prawidłowy dla danego kraju? Walidacja wychwytuje błędy w momencie ich wprowadzenia, co jest najtańszym sposobem ich naprawienia. Reguła walidacji odrzucająca błędnie sformatowany numer telefonu pozwala uniknąć późniejszego kontaktu z działem obsługi klienta.
Reguły walidacji występują w kilku formach. Sprawdzanie typu potwierdza, że wartość jest właściwym typem danych. Sprawdzanie zakresu potwierdza, że mieści się w dopuszczalnych granicach. Sprawdzanie formatu potwierdza, że pasuje do wzorca, takiego jak adres e-mail lub data. Sprawdzanie referencyjne potwierdza, że wskazuje na istniejący rekord. Sprawdzanie międzypolowe potwierdza, że powiązane pola są spójne, na przykład adres wysyłki zgodny z krajem rozliczenia. Każda reguła wychwytuje inny rodzaj błędów. Wyzwaniem jest znalezienie równowagi między rygorystycznością a użytecznością. Reguły zbyt rygorystyczne odrzucają prawidłowe dane. Reguły zbyt luźne dopuszczają błędy. Formularz, który odrzuca apostrofy w nazwach, nie obsługuje rzeczywistych klientów. Formularz, który akceptuje dowolny ciąg znaków jako datę, przechowuje śmieci. Walidacja powinna również zapewniać jasne informacje zwrotne. Komunikat o błędzie „nieprawidłowe dane wejściowe” nikomu nie pomaga. Komunikat „data musi być w formacie RRRR-MM-DD” dokładnie wskazuje użytkownikowi, co należy poprawić.
Typy reguł walidacji
- Typ — poprawny typ danych
- Zakres — w granicach minimalnych i maksymalnych
- Format — pasuje do wymaganego wzorca
- Referencyjny — wskazuje na istniejący rekord
- Międzypolowe — zgodne z polami pokrewnymi
- Wymagane — nie puste ani niepuste
Walidacja to bramka. Zatrzymuje błędne dane, zanim się rozprzestrzenią. Bramka musi być wystarczająco rygorystyczna, aby wychwytywać błędy, i wystarczająco elastyczna, aby przepuszczać prawidłowe dane.
Comments
No comments yet. Be the first to share a thought.
Leave a comment