Goede formulieren: Gegevensvalidatie

Gegevensvalidatie is de controle of een digitale formulier correct is ingevuld door de gebruiker. Voorbeelden van digitale formulieren zijn een contactformulier op een website of het inlogformulier in een app,. Deze methode zorgt ervoor dat het systeem alle benodigde informatie op de juiste manier krijgt aangeboden door de gebruiker. Als de gebruiker een veld vergeet of onjuist invult, verschijnt een melding, zodat de gebruiker weet dat er iets aangepast moet worden.

Gegevensvalidatie kan op de volgende drie manieren worden toegepast:

1. On blur

Direct nadat de gebruiker een veld heeft ingevoerd, wordt het betreffende veld gecontroleerd en een melding weergegeven als het veld onjuist is ingevuld.

Het voordeel van deze methode is dat de gebruiker direct gewaarschuwd wordt als een veld onjuist is ingevuld. Anderzijds kan dit ook ietwat gehaast overkomen. Een nadeel is dat tekstvelden op deze manier alleen gecontroleerd worden als de tekstcursor in het veld heeft gestaan; als de gebruiker het veld volledig overslaat, zal deze validatie niet werken.

2. Before submit

Zodra de gebruiker op de verzendknop van het formulier klikt, worden eerst de velden gecontroleerd voordat het formulier daadwerkelijk wordt verzonden. Als het formulier niet compleet of incorrect is ingevuld, wordt het formulier niet verzonden, maar krijgt de gebruiker een waarschuwing.

Het voordeel is dat de gebruiker sneller wordt gewezen op een incorrect ingevuld formulier. Het nadeel is dat deze validatiemethode “client side” (dus op het apparaat van de gebruiker) wordt uitgevoerd, zodat een slimme gebruiker deze methode kan omzeilen.

3. After submit

Zodra de gebruiker op de verzendknop van het formulier klikt, wordt deze direct naar de server verzonden. Op de server wordt gecontroleerd of het formulier compleet en juist is ingevuld. Zo niet, dan wordt het formulier opnieuw getoond aan de gebruiker met een foutmelding.

Het voordeel van deze methode is dat het veiliger is dan optie 2, omdat validatie “server side” (dus op de server van de website) wordt uitgevoerd. Het nadeel is dat deze methode trager is, omdat het formulier eerst verzonden moet worden. Vooral bij zwaardere formulieren waarbij bestanden verzonden moeten worden, zal dit vertraging opleveren.

In praktijk zou ik aanraden om optie 1 of 2 te combineren met optie 3, zodat de eerlijke gebruikers direct worden gewezen op vergissingen, en de formulieren van kwaadwillende gebruikers alsnog worden gecontroleerd.

De gebruiker wordt door gegevensvalidatie geholpen, omdat geen onvolledige of foutief ingevulde formulieren meer verzonden kunnen worden. Maar als er onvoldoende aandacht wordt besteed aan de usability van het formulier zelf, kan deze validatie ook tot frustratie leiden, omdat de gebruiker niet (direct) weet wat er verwacht wordt. Daarom wil ik tenslotte nog een aantal tips meegeven ten aanzien van validatie:

  • Maak niet meer velden verplicht dan nodig
    Gebruikers hebben privacy steeds hoger in het vaandel staan. Als je meer gegevens vraagt dan strikt noodzakelijk, zullen gebruikers afhaken en mis je een contactmoment.
  • Geef duidelijk aan welke velden verplicht zijn
    Als je bezoekers op voorhand weten wat er van ze verwacht wordt, kunnen ze hierop inspelen bij het invullen van het formulier. Dat is altijd beter dan achteraf een melding krijgen dat je een veld bent vergeten in te vullen.
  • Geef voorbeelden
    Als het formulier wordt gevalideerd op vorm, geef dan een voorbeeld van de gewenste vorm. Kijk bijvoorbeeld naar onderstaande lijst met telefoonnummers:

    • 010 – 59 22 777
    • +31 (0) 10 59 22 777
    • 0031105922777

    Al deze telefoonnummers zijn geldig, maar worden mogelijk niet allen door het formulier als zodanig herkend. Geef daarom een voorbeeld van het formaat waarin het formulier het telefoonnummer verwacht, bijvoorbeeld als placeholder in het invoerveld of als toelichting in het label. Als het technisch haalbaar is, zou het overigens nog chiquer zijn om verschillende syntaxen voor telefoonnummers toe te staan.

  • Zorg voor duidelijke feedback
    Als de gebruiker een veld niet of incorrect heeft ingevuld, geef dan duidelijk aan welk veld dit betreft, en wat er verkeerd aan is. Dit kan door middel van een samenvatting bovenaan het formulier, het oplichten van het veld in kwestie, of (bij voorkeur) een combinatie van beiden.