Preventing issues on web forms
Posted March 9th, 2010 by David HamillThis post is a follow-up to to my previous post on validating web forms. In that post I gave you tips on helping users recover from validation problems. In this post I give you tips on avoiding the problems in the first place. You can write a whole book on this subject (and many have) so I’m just covering a few examples that come to mind.
Avoid internal/technical language
Think carefully about the language you’re using on your form. You should adopt your user’s vocabulary instead of using any technical or industry terms. Here’s an example below from FreeAgent (a web-based accounting application).
When asking for your payment details, FreeAgent asks for your Card Verification Value. This means nothing to a lot of people. In banking it’s called a Card Verification Value or CVV number. To us normal people, it’s that 3-digit code on the back of our credit or debit card. This label might be a little clearer if it were called “3-digit security code”.
In this instance there are a couple of things that FreeAgent does to remedy the situation. By sizing the text field appropriately, many people will know what’s being asked for. They are now used to providing a 3-digit security number. Some will be happy to assume that this is what the text field is for.
We’ll talk about the other remedy a little later.
Intelligent reformatting
Your internal systems may insist on the strict formatting of some data, but this shouldn’t impact the customer. It’s your job to deal with that, not theirs.
I’ll use an example to demonstrate. When booking a flight with EasyJet, I’m asked for the payment details below. No formatting rules are specified for the card number.

Like many other people, I type in my card number as it appears on the card. The number on my card has spaces that separate the number into groups of four digits. But if I type in my number in this way, EasyJet doesn’t like it.
This is lazy programming. If the spaces can be detected by the form, then they can also be removed by the form. EasyJet should just remove the spaces for me, instead of asking me to go back and fix the problem. Don’t they want my money?
Also, see my post on validating web forms and read why JavaScript alerts are a poor mechanism for form validation.
Only ask for the information you need
Every question you ask on a form is an opportunity for something to go wrong. This is just one of the reasons to only ask for the information you need. You don’t want users dwelling on questions that don’t matter. So don’t ask them in the first place.
I recently wrote a blog post about asking people marketing questions that is related to this point.
Asking inappropriate questions can also create issues with trust. If you ask for information that users don’t want to give you, they may begin to mistrust your motives. When they begin to get suspicious of you they may abort the form completely.
Optional and required fields.
Don’t use the word ‘mandatory’ when talking to users. We say ‘mandatory fields’ because we’re geeky web types. Real people don’t. Use the word ‘required’ if you want them to know what you’re talking about.
There are 2 approaches you can take to displaying required fields.
- All fields are required unless marked as optional
- All required fields are indicated (often with a red star)
If you choose the 2nd option, the placing of the red star is very important. When people fill out web forms, they tend to look only at the questions and then the form fields. So if your star is not in the path of that eye movement, it could easily be ignored.
The three examples pictured below show a red star that is positioned in the path the user’s eye will take when reading and completing the form. So it is likely that users will notice its presence.
The example below shows an approach where the red star is more likely to be overlooked than in previous examples. This is because the user has no reason to look there.
Think before validating optional fields
In most cases, it’s better not to bother adding validation to optional fields. But sometimes you’ll find that it’s necessary.
It’s often better to accept that the data from optional fields will be more prone to errors. The alternative is to validate these fields and introduce the possibility of added friction to the process of completing the form.
If you’re prepared to accept no response to a question then consider also accepting an incorrect response.
Providing hints
It’s often helpful to provide little hints with some questions in order to ease understanding. Let’s go back to FreeAgent’s ‘Card Verification Value’ and see how they manage to resolve the problems that may arise from their choice of labelling.
Despite the fact that Card Verification Value means nothing to the average person, FreeAgent helps to resolve problems by providing some additional info.
Notice that this hint isn’t hidden behind a question mark link. The advice is short, so there’s no need to hide it. Strictly speaking, this solution would be unnecessary if they’d chosen better labelling in the first place. When using this type of approach, it’s important to consider the flow of the form.
Inline validation
Validating the form while the user enters information is called ‘inline validation’. It can be a good way of helping users through a form in a less obstructive way than validating all of the answers at the end (when the user clicks submit).
However, you usually don’t need to use inline validation on every question. Inline validation can be troublesome if it isn’t implemented well. Luckily Luke Wroblewski wrote an interesting article about inline validation that saves me the bother of having to do it here.
Was this blog post useful?
If you found this useful, here’s a few things you can do:





9 Responses to “Preventing issues on web forms”
March 9th, 2010 at 12:21 pm
All good points, David — which despite the state of maturity of the web, are so often missed in form design. My personal favourite is “Only ask for the information you need”. I won’t say I’ve ever actually been asked for the name of my maternal grandmother’s first husband’s dog, but sometimes it feels pretty close! If you’re not going to do anything useful (to the form filler) with a piece of information, don’t ask for it…
March 9th, 2010 at 5:03 pm
Just a slight quibble about your proposal for naming the security number field as “3-digit security code”.
The security code is actually a 4-digit code for American Express card users, and is printed on the front of the card, not the bank. So it wouldn’t be a great idea to hardcode “3-digit security code” into the field name (unless you don’t like Amex users).
Regards
Shane
PS I think you need to do some work on the validation of the ‘website’ field in the comments entry section. It breaks your own rules!
March 9th, 2010 at 5:18 pm
Another good article.
A small correction would be where you are talking about the CVV code. An Amex card (some sites do accept them!) uses a 4 digit number which is often on the front rather than the back. You have to offer more help if accepting Amex.
It is also interesting to note how many ecommerce sites still explicitly ask for the card type when this can be deduced easily from the card number itself.
March 9th, 2010 at 7:18 pm
Thanks for commenting folks. I’ve never known anyone to even own an American Express card, so thanks for pointing this one out. It doesn’t surprise me that it’s different for American Express. It always is.
One of the trials of using real world examples is that there’s always an ‘ah but…’ comment that can be made about the example itself. The example is provided simply to illustrate a principle, however rest assured that in this case American Express isn’t accepted by FreeAgent.
Shane, yes I’m sorry about the fact that the comment form doesn’t follow my own advice. Right now I have the choice to leave it as it is and either tell you how to improve your own forms, or keep my mouth shut so I don’t look silly. I’d prefer to help you with your forms.
March 11th, 2010 at 11:00 am
Hi David
I’m really enjoying this series of posts. I’ve linked this one from my page on Conversation:
http://www.formsthatwork.com/Conversation
Thanks
Caroline
March 22nd, 2010 at 4:59 am
good info. be careful with AMEX – i use one! it’s a wee bit quirky. but usually there’s an accompanied dropdown to select MC, VISA or AMEX. then the AMEX field expands. or something like that.
April 6th, 2010 at 11:26 am
[...] Preventing issues on web forms [...]
April 27th, 2010 at 7:20 am
I can’t think of any examples at all where I would ask a site visitor for *optional* information.
I either need the information – or I don’t need it. If I don’t need it then I don’t ask.
July 3rd, 2010 at 7:12 pm
thanks for sharing. web forms can be nightmare in done incorrectly.
Comment on this article