I am coming up with my project's validation framework, including preventative error handling. I have been debating as to whether I should limit user input to prevent errors in cases such as prices or other non-flexible fields (i.e. phone number).

  • On one hand, I can see it as an annoyance to the user (i.e. is my keyboard working right?).
  • On the other hand, I can see it being a benefit in that the user has a lower chance of causing simple errors through formatting problems.

In your experience, which path is right? or is a moderate approach incorporating both based on a situation basis the correct path?

3 Answers 3


I prefer to let the user type and somehow indicate the error with a formatting or length indicator. Twitter is a good example.

The benefit of this approach is particularly apparent in message entry fields where the user might just need to get their thoughts down then edit for length. In the case of data-centric fields (like phone numbers) it simply avoids the mental overhead you mentioned: "Did my computer just hang?"


If an input field has limited length or limited allowed characters, I would have some kind of client side validation for it, that would show immediately if the input doesn't match the format or exceeds the max length.

I've had to tackle/see others tackle so many typos/incorrectly formatted data from database rows, because there's been input fields without correct validation for the format. Users can (and in my experience WILL) input details in any possible way if it's not limited.

It might annoy someone, if they can't type their phonenumber as they're used to, but if they type it in a format that can't be interpreted, it might annoy everyone else (and maybe the end user as well) if their phonenumber is not saved correctly.


In my experience, when I still have no clue on how tech-savvy will these users be, a balance between the two is best. However, I must admit I tend to use placeholders. Also, whenever I can (when there is only one or very few input fields), I choose a suggestive design and then limit user input.

I try using placeholders as a way to show what is valid and what's not, with both good examples and the most common invalid one.

Using placeholders seems to anticipate the right to 'annoy' the user with validation errors if they don't follow the examples shown.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.