Een techniek om te voorkomen dat typefouten worden gemaakt en dat alleen vooraf overeengekomen definities van begrippen worden gebruikt is de tabel- gestuurde invoer. Hierbij wordt de invoer per veld gevalideerd tegen een bijbehorende tabel. Alleen als de invoer overeenkomt met een van de toegestane waarden wordt de invoer geaccepteerd. Deze techniek is al heel oud en wordt bijvoorbeeld bij het HKS systeem toegepast.
Drop-down lijsten zijn een standaard oplossing om de gebruiker te laten kiezen uit de toegestane mogelijkheden. Deze worden gevuld vanuit de tabel uit de database. Met de muis of de pijltjestoetsen wordt de gewenste keuze geselecteerd. Dit werkt goed tot 10 mogelijkheden. Als gekozen moet worden uit duizenden alternatieven is het veel te tijdrovend en wordt vaak maar wat geselecteerd om er van af te zijn.
Bij een recente opdracht heb ik mijn medewerkers gevraagd te tellen hoeveel verschillende plaatsnamen in de database waren geregistreerd. Deze plaatsnamen waren in de loop der jaren via een interface vanuit verschillende operationele systemen automatisch ingevoerd. Het bleken er meer dan 200.000 te zijn. Amsterdam kwam meer dan 10 keer voor voorafgegaan door geen to 9 spaties. Ook Duckstad kwam er in voor. Er bestaan in Nederland een kleine 6000 plaatsen. De vervuiling was ronduit dramatisch.
Als voorbeeld heb ik een Javascript gemaakt dat de gebruiker helpt een plaatsnaam correct in te typen. Als gebruiker is gedacht aan de operationele medewerker die met twee vingers typt en tijdens het typen niet naar de muis wil grijpen. Het script vangt iedere ingetypt teken af en controleert of de tot dan toe ingevoerde tekens deel uitmaken van een valide plaatsnaam. Steeds wordt getoond wat de volgende valide tekens zijn. Als er maar één valide teken is wordt dit automatisch voor de gebruiker ingevoerd. Als een plaatsnaam volledig (en valide) is ingetypt verandert de kleur van de letters naar groen.
Gemeente, provincie
|
|
Mogelijke invoer
|
|
Gebruik de < en > tekens op het toetsenbord om door de plaatsnamentabel te scrollen. De tabel is afkomstig van deze site. Het script is getest onder Windows XP met de browsers Firefox 50.0.2, Opera 10.62, Google Chrome 55.0.2883.87, Apple Safari 5.0.2 en Microsoft Edge 38.14393.0.0