Fout: vul een geldige waarde in bij ‘e-mail’

 
10 november 2009

Je registreren op een website, wat kan dat toch een drama zijn. Je wordt steeds met rode letters gestraft omdat je een spatie in je gebruikersnaam hebt gebruikt. Fout! Of omdat je geen underscore hebt gebruikt in je wachtwoord. Fout! Of omdat de site een spatie in je postcode tussen de cijfers en de letters afdwingt. Of juist niet. Fout!

Ook heb je sites die juiste data afkeuren. Woon je op een adres met een postcode die nog niet voorkomt in de database van een website? Fout! Gmail biedt je de mogelijkheid om een alias te gebruiken. Het mailadres ’simonklees+softwareinnovators@gmail.com’ is geldig en het helpt mij om te achterhalen waar bepaalde mail vandaan komt. Helaas keuren veel websites een plusteken in een mailadres af. Fout!

Helemaal vervelend is het, wanneer je die meldingen pas krijgt als je twaalf velden hebt ingevuld en op ‘verzenden’ hebt gedrukt. Je past je (domme, domme) fout aan, en bij opnieuw verzenden blijkt je tweemaal ingevulde wachtwoord voor de veiligheid leeg te zijn gemaakt. Fout! Probeer het opnieuw, jij domme, domme gebruiker!

Dan heb je nog de websites die af proberen te dwingen dat je onnozele velden invult. “U heeft niets ingevuld bij opmerkingen!” Fout! Sites die afdwingen dat je invult waar je woont, ook al heeft je woonadres totaal geen relatie met de site die je probeert te bezoeken. Bijvoorbeeld op een of ander forum over zeeaquaria. Fout, fout, fout!

Bezoekers van zulke websites ergeren zich groen en geel of ze vullen onzin in (’1234AB, Lutjebroek’, opmerkingen: ‘querty’). De eigenaar van de site krijgt alleen maar kwantitatieve data waarvan de kwaliteit nihil is. Daar schiet niemand wat mee op.

Je moet dus goed nadenken over je validatie en je moet uitzoeken welke data echt cruciaal zijn en daarmee verplicht om in te vullen. Zorg er im- of expliciet voor dat gebruikers begrijpen waarom ze bepaalde gegevens bij je moeten achterlaten. Als je online een boek bestelt is het veel duidelijker dat je exacte adresgegevens moet invullen (anders komt je boek niet bij je aan) dan wanneer je een forum over abseilen bezoekt (ja zeg, straks krijg ik allemaal mariniers over de vloer).

Het kan natuurlijk zijn dat je een abseilforum hebt opgezet en graag wil weten waar je bezoekers wonen, bijvoorbeeld om een evenement te organiseren dat voor de meeste bezoekers niet al te ver weg is. Hoewel het op het eerste gezicht logisch lijkt om te vragen naar postcode en huisnummer, heb je eigenlijk alleen de woonplaats nodig (uitzonderingen daargelaten). Vraag dus alleen om de woonplaats en leg uit waarom. Maak het veld niet verplicht, want iemand is misschien helemaal niet geïnteresseerd in je evenementen.

Op deze manier zijn mensen vaker geneigd om juiste data af te geven. Je komt sympathiek over en dat bevordert het succes van je website.

Succes!

Dit blog werd gepost op 10 november 2009. Helaas is het later per ongeluk verwijderd, maar met hulp van de grote Google-cache is het nu weer terug. De reacties zijn wel verloren gegaan, maar hier zijn ze opnieuw:

Bert-Jan Diedering schreef:
Gelukkig werd ik door het niet invullen van een naam en email voor het kunnen plaatsen van deze reactie maar 1 keer gestraft. Wel werd ik heel erg gestraft, namelijk : een redirect naar een andere pagina waar mijn grote fout op stond! Nee! Fout!

Goed artikel Simon, boks.
Geplaatst op 10 november 2009 om 21:09

Geert Gerritsen schreef:
Leuk artikel Simon, erg herkenbaar!
Geplaatst op 18 november 2009 om 11:25

Ivo Limmen schreef:
Ik heb in mijn bookmarks nog een leuke site naar veel meer van deze ongein. http://homepage.mac.com/bradster/iarchitect/shame.htm.
Het is overigens ook wel jammer dat er niet een (native) input control is in HTML met type ‘email’ adres dat zou een hoop problemen oplossen.
Geplaatst op 20 november 2009 om 13:59

Simon Klees schreef:
@Ivo

E-mailadressen moet je helemaal niet aan de front-end valideren. De enige juiste check is namelijk door een mail te sturen naar het adres, en de gebruiker te laten reageren op die e-mail.
Waarom zou je valideren op bla@domein.tld? Dat zegt namelijk helemaal niets over het bestaan van het mailadres.
Laat het e-mail-invulveld dus maar gewoon vrij van checks. Straks mag je bijvoorbeeld een ringel-S in een mailadres gebruiken, en dan valideert dat niet met je mooie RegEx-checks.
Kortom: geen front-end checks op e-mailadres.
Geplaatst op 22 januari 2010 om 10:23


Werken met ?
Kijk dan bij onze mogelijkheden voor starters en/of ervaren IT'ers.


Categorieën: Architectuur

Tags: , ,


Reacties (3)

  • Anatoly Zimakov schreef:

    Leuke post, Simon! Het probleem is heel herkenbaar. Als je zelf weet welke gegevens je van gebruiker nodig hebt, kan je dit aan gebruiker ook vertellen. De kans dat gebruiker meewerkt en geen fictieve gegevens invoert is dan groter. Gebruiker is uiteindelijk geinteresseerd in het dienst dat door je website aangeboden wordt. Het moet voor hem duidelijk zijn dat gegevens die hij invoert essentieel zijn voor het vervullen van zijn wensen. Het heeft naar mijn gevoel ook geen zin om mijn postadres op te geven als ik iets wil downloaden.

    Over de validaties gesproken. Ik heb van de week naar Validation pluging jQuery gekeken. Het leek me zeer handig hoe makkelijk je aan de client kant ingewikkelde validatie logica kan plaatsen en per type validatie specifieke foutmeldingen genereren. Voor diegenen wie hiermee niet bekend zijn, kijken jullie maar op docs.jquery.com/Plugins/Validation

    Geplaatst op 24 maart 2010 om 12:59 Permalink

    • Simon Klees schreef:

      Dank je! Bij Band on Demand gebruiken we inderdaad ook jQuery-validation. Werkt best makkelijk.

      Geplaatst op 24 maart 2010 om 13:02 Permalink

  • Rikkert schreef:

    Heel herkenbaar, vooral irritant als je iets wil downloaden en je moet je hele ziel en zaligheid invoeren.

    Meestal erg handig om de firefox plugin van bugmenot.com te gebruiken. Een aanrader! Disposable mailaccounts zijn te vinden op 10minutemail.com en mailinator.com voor de sites die je mailadres willen verifieren.

    Geplaatst op 24 maart 2010 om 12:19 Permalink