Validatie is het controleren of de data die in een systeem wordt ingevoerd correct, volledig en in de verwachte vorm is voordat het systeem die accepteert. Het is het verschil tussen blind vertrouwen op wat een gebruiker typt en bevestigen dat bijvoorbeeld een telefoonnummer alleen cijfers bevat en een verplicht veld niet leeg is. Goed gedaan houdt het foute data bij de deur tegen.
Een handige vergelijking is een portier bij een evenement die kaartjes en ID controleert. Iedereen kan komen aanlopen, maar alleen mensen van wie de gegevens kloppen mogen naar binnen. Een aanmeldformulier doet hetzelfde: het bevestigt dat het e-mailadres op een e-mailadres lijkt, dat het wachtwoord lang genoeg is en dat de geboortedatum een echte datum is. Mislukt de controle, dan toont goede foutafhandeling een duidelijke melding, zodat de eindgebruiker het kan herstellen in plaats van vast te lopen.
Validatie is niet hetzelfde als typeveiligheid. Typeveiligheid controleert de code tegen zichzelf terwijl je hem schrijft, validatie controleert echte data terwijl het programma draait. Het is ook een eerstelijns beveiligingsmaatregel, want veel aanvallen leunen erop dat een systeem invoer vertrouwt die het had moeten weigeren. Belangrijk: validatie moet op de server gebeuren, niet alleen in de browser, want browsercontroles zijn over te slaan. Het ligt dicht bij authenticatie, maar beantwoordt een andere vraag. Authenticatie vraagt wie je bent, validatie vraagt of wat je opstuurt netjes gevormd en veilig te gebruiken is. Allebei moeten kloppen wil een systeem te vertrouwen zijn.
Bij TopDevs valideren we invoer zowel op het scherm als op de server, zodat de data van een klant schoon blijft en hun systeem veilig blijft voor het soort invoer dat er nooit in had mogen komen.