Datumveld voor afspraken: voorkom ongeldige keuzes
7 november 2026 · 6 min leestijd · Marketing Scan
In dit artikel
Welke ongeldige keuzes kan een datumveld toelaten?
Begin met een inventaris voor je iets test. Een datumveld voor afspraken kent meer foutbronnen dan alleen een datum in het verleden. Maak voor jouw situatie een lijst met deze categorieën:
- Onmogelijke datums: 30 februari, 31 april of een dag die in een invoerveld met vrije tekst anders wordt gelezen (dag en maand omgedraaid).
- Gesloten dagen: vaste wekelijkse sluitingsdag, feestdagen, collectief verlof, eenmalige sluiting.
- Te vroeg of te laat: vandaag nog, terwijl je minstens een dag vooraf nodig hebt, of een datum ver buiten je agenda.
- Tijdzone en tijdstip: een datum die verschuift omdat de browser, de server en je agenda niet dezelfde zone gebruiken.
- Volzet: de dag is open, maar alle plaatsen zijn bezet.
Elke categorie krijgt later een eigen testgeval en een eigen boodschap. Zo weet je achteraf ook welke fout bezoekers het vaakst tegenkomen.
Stappenplan om je datumveld te onderzoeken
Doorloop dit stappenplan op een testomgeving of buiten openingsuren, zodat je geen echte afspraken aanmaakt.
- Noteer de bron van waarheid: waar staan openingsuren, sluitingsdagen en capaciteit? In de website, in een agendatool of in iemands hoofd?
- Controleer het invoertype. Een veld waarmee je een datum kiest, beperkt typefouten meer dan vrije tekst. Vrije tekst vraagt een duidelijk formaat en strengere controle.
- Test per categorie uit de inventaris minstens één geldige en één ongeldige waarde, ook met het toetsenbord en op een smalle schermbreedte.
- Test de serverkant apart. MDN beschrijft op de pagina over validatie in het formulier dat controle in de browser een eerste check is die de gebruiker snel helpt, maar dat je dezelfde gegevens ook op de server moet valideren. Een ongeldige datum die alleen door de browser wordt tegengehouden, kan nog altijd binnenkomen.
- Vergelijk wat de bezoeker kiest, wat in de bevestigingsmail staat en wat in je agenda belandt. Alle drie moeten dezelfde dag tonen.
- Noteer elk afwijkend resultaat met invoer, verwacht gedrag en werkelijk gedrag.
Beslisregels: blokkeren, waarschuwen of doorverwijzen
Niet elke ongeldige keuze verdient dezelfde reactie. Gebruik deze tabel als beslisblad en pas de uitkomst aan je eigen werking aan.
| Situatie | Aanbevolen reactie | Toon aan de bezoeker |
|---|---|---|
| Datum bestaat niet | Niet laten doorgaan | Wat er mis is en welk formaat je verwacht |
| Vaste sluitingsdag | Dag niet selecteerbaar of duidelijke melding bij keuze | Reden (bijvoorbeeld gesloten) en het eerstvolgende open moment |
| Te korte termijn | Blokkeren als je het echt niet kan halen | De minimale termijn en een alternatief contact |
| Volzet | Blokkeren, en dit op de server opnieuw controleren bij het opslaan | Dat het volzet is en de dichtstbijzijnde vrije dagen |
| Tijdzone onzeker | Locatie van de afspraak vermelden | Datum en uur met aanduiding van de lokale tijd |
Regel: blokkeer wat zeker niet kan, leg uit wat onzeker is, en laat nooit een bezoeker in het ongewisse over de reden.
De reden van een onbeschikbaar moment tonen
Een grijze dag zonder uitleg roept vragen op. De W3C-tutorial over toegankelijke formulieren vraagt om instructies bij velden en om meldingen die fouten benoemen en helpen oplossen. Vertaal dat naar je datumveld:
- Zet de regels vooraf bij het veld: openingsdagen, minimale termijn, gebruikte tijdzone.
- Koppel een foutmelding aan het veld zelf, in gewone taal. Niet 'ongeldige invoer', wel 'Op zondag zijn we gesloten. Kies een dag van maandag tot en met zaterdag.'
- Gebruik niet alleen kleur om een dag als niet beschikbaar aan te duiden. Voeg tekst toe.
- Bied direct een uitweg: het volgende vrije moment of een telefoonnummer.
Test dit met alleen het toetsenbord en met een schermlezer indien je die hebt. Wie de foutmelding niet hoort of ziet, kan de fout ook niet herstellen.
Fictief scenario: invoer en verwachte controles
Stel: een zaak is op maandag en zondag gesloten, heeft op 1 januari verlof en vraagt minstens één volle dag vooraf. De agenda draait op lokale Belgische tijd. Dit is een fictief testdraaiboek, geen meting.
| Invoer | Verwachte technische controle |
|---|---|
| 30 februari | Veld weigert of melding over onbestaande datum; server weigert dezelfde waarde bij rechtstreeks verzenden |
| Een maandag | Melding met reden gesloten en voorstel voor dinsdag |
| 1 januari | Behandeld als sluitingsdag, ook al is het geen vaste weekdag |
| Datum van morgen | Geweigerd of toegestaan volgens de afgesproken termijn, met zichtbare regel |
| Toestel ingesteld op een andere tijdzone, dezelfde gekozen dag | Bevestigingsmail en agenda tonen dezelfde kalenderdag en vermelden de lokale tijd |
| Datum rond de overgang naar zomer- of wintertijd | Uur en dag blijven correct in agenda en bevestiging |
Overdrachtsnotitie voor wie het veld bouwt: de sluitingsregels staan op één plaats, de server controleert dezelfde regels als de browser, en de datum wordt als lokale datum van de locatie bewaard.
Controle na wijziging, bronnen en grenzen
Herhaal na elke aanpassing aan openingsuren, plugin of formulier minstens de zes gevallen hierboven. Bekijk daarnaast een echte testboeking van begin tot einde: veld, melding, bevestigingsmail, agenda. Het web.dev-leertraject Forms bevat aparte onderdelen over testen op verschillende toestellen en platformen en over internationale datumformaten. Gebruik die als checklist-bron voor browsers en regio-instellingen die je zelf nog niet testte.
Let op de grenzen. Deze bronnen gaan over formulieren in het algemeen, niet over jouw boekingstool. Hoe je sluitingsdagen precies instelt, hangt af van die tool; de beheerder controleert dat in de eigen instellingen of bij de leverancier. Een test bewijst bovendien alleen de geteste combinaties.
Wil je weten welke publieke signalen je website rond formulieren en conversie toont, bekijk ze dan via Marketing Scan. Een publieke scan meet zichtbare signalen en vervangt je eigen testprocedure niet.
Veelgestelde vragen.
Volstaat het om gesloten dagen in de kalender grijs te maken?
Nee. Een grijze dag zonder uitleg geeft de bezoeker geen reden, en wie de datum rechtstreeks verstuurt kan de beperking omzeilen. Controleer de regel ook op de server en toon een tekstuele reden met een alternatief.
Hoe test ik of een tijdzone een datum laat verschuiven?
Kies in een testboeking een dag en wijzig de tijdzone van je toestel of browser naar een ver verwijderde zone. Vergelijk daarna de gekozen dag, de bevestigingsmail en de agenda-invoer. Verschilt de kalenderdag ergens, dan is dat een aanwijzing dat ergens een tijdstempel of een andere tijdzone wordt toegepast waar een lokale datum nodig is. Zoek de oorzaak door per stap (formulier, server, mail, agenda) de opgeslagen waarde en de gebruikte zone na te kijken.
Moet ik feestdagen automatisch blokkeren?
Alleen als jouw zaak op die dagen echt gesloten is. Dat bepaal je zelf per dag, want niet elke zaak sluit op elke feestdag. Leg de lijst vast op één plaats en herzie ze jaarlijks.
Wat doe ik met een datum die de browser toelaat maar de server weigert?
Toon de serverfout bij het veld met dezelfde duidelijke reden als bij een browsercontrole, en bewaar de ingevulde gegevens. Wie na een weigering alles opnieuw moet invullen, is sneller geneigd om af te haken.
Bronnen bij dit artikel
Hoe werkt een marketing scan? Meetmethode en grenzen
Van advies naar actie voor jouw website
Maak een gratis account voor één website. Controleer zes kenmerken van je homepage en bekijk maximaal drie bevindingen.
Herhaal de check handmatig één keer per zeven dagen. Voor volledige audits en automatische opvolging is uitgebreide toegang nodig.
Maak je gratis account