Formuliervalidatie zorgt ervoor dat gebruikers correcte gegevens invoeren. Met HTML5 zijn veel validaties al standaard ingebouwd, maar je kunt deze uitbreiden met JavaScript.
Basis HTML5-validatie attributen
| Attribuut | Beschrijving | Voorbeeld | 
|---|---|---|
| required | Veld is verplicht | <input type="text" required> | 
| minlength | Minimale lengte tekst | <input type="text" minlength="5"> | 
| maxlength | Maximale lengte tekst | <input type="text" maxlength="10"> | 
| min | Minimumwaarde | <input type="number" min="18"> | 
| max | Maximumwaarde | <input type="number" max="100"> | 
| step | Interval voor nummers | <input type="number" step="5"> | 
| pattern | Regex-validatie | <input type="text" pattern="[0-9]{5}"> | 
| type="email" | Checkt op geldig e-mailadres | <input type="email"> | 
| type="url" | Checkt op geldig webadres | <input type="url"> | 
| type="date" | Datumkiezer, valideert datumformaat | <input type="date"> | 
Voorbeeld HTML-formulier met validatie
Validatie met JavaScript
Gebruik JavaScript om extra controles te doen of foutmeldingen aan te passen.
Check met checkValidity()
Custom foutmeldingen met setCustomValidity()
Formulier validatie blokkeren bij ongeldige invoer
Pseudo-classes voor styling
| Selector | Beschrijving | Voorbeeld | 
|---|---|---|
| :required | Selecteert verplichte velden | input:required { border: 2px solid red; } | 
| :optional | Selecteert niet-verplichte velden | input:optional { border: 2px solid green; } | 
| :valid | Selecteert geldige invoer | input:valid { border-color: green; } | 
| :invalid | Selecteert ongeldige invoer | input:invalid { border-color: red; } | 
Best practices
- Gebruik altijd server-side validatie naast HTML/JS-validatie (beveiliging). 
- Combineer required, pattern en type voor nauwkeurige controles. 
- Geef duidelijke foutmeldingen, liefst naast of onder het veld. 
- Gebruik CSS voor directe visuele feedback. 
- Test validatie zowel met toetsenbord als schermlezers voor toegankelijkheid. 
