I am having a discussion with a friend over whether to show or not show entity errors at startup (this is in Silverlight, but can apply to all development techniques).
I made my entry screens so the required fields are immediately marked red so the user knows what the required fields are. He says it’s not “the best way” and because of “usability studies”, the errors should be shown only when the user enters a value, then removes it again (then the errors should show up).
I think it’s just an excuse not having to implement additional code to actually show the errors (because you manually have to validate the entity to retrieve the errors).
What do you think? It would also be very cool if someone could actually post usability studies that back-up one side or the other.
First of all, we need to distinguish between indication of a required field (usually done by putting asterisk (*) next to the field or a little marker “Required” under the field label) and actual validation errors when you highlight the invalid field and provide clear explanation what is wrong. The indication of required fields should be shown from the beginning, so the user, when she opens up the form, can immediately see what information she is required to enter. Such indication is much less intrusive than validation errors.
But situation is different with validation errors. There is no point in showing that the user hasn’t entered something until she indicated that she is done with the data entry (by stepping out of the field or by pressing the submit button). Otherwise it is annoying for the user to see those errors when they haven’t had a chance to enter the correct information yet.