When a user is filling out a “form” you can (depending on the app)
- validate the data entry in real time as the user enters each field
- validate at the time they attempt to submit the form for processing
in either case, what manner do you use to indicate to the user if they made an error, what type of error it might have been, and on what field(s) they made the error.
I have a form that actually uses both of the above events. Each field must meet certain format rules (dates, names etc), these can be validated on the fly. The form is then validated when the user submits it, then the relationship BETWEEN fields (and the requirement of certain fields) is checked.
For the first type of error, I light the field in RED, for the second type I have a banner message and abort the submit
What do YOU do?
I use Einhugur’s ErrorProvider plugin and usually validate on submission. Validation is handled in a monolithic method. The validation error message is displayed in a help tag on the ErrorProvider icon, and also on a custom status bar. Custom icons can be used to indicate differing severity levels.
More here: http://einhugur.com/Html/ErrorProvider/index.html
Edit: @Tanner Lee was faster
I go the same route with Apps in which i do not use 3rd Party Plugins.
My question was more how you visually indicate that an issue exists, not how you determine IF it does.
Red Field or MsgBox, whatever fits more the workflow.
Or an audible message screaming “PEBKAC, PEBKAC” in the voice a Dalek…
Message box with a good error description, then set the focus back to the control that has the error. I have a custom MessageBox method where I can send in the Title and the Message so it’s a little better than the built-in msgbox method.
I have used the Einhugur Error Provider in the past and it has a nice UI but most of my clients don’t want/need it (or don’t want to pay for it).
I remember there was a bug in the early stage of this control while Bjorn was busy doing other things. That evening I have build exactly the same with Xojo. In fact I copied the idea. Never went back to the Einhugur control since there was no need for it, mine still works perfectly fine. And what I’ve read so does the Einhugur control now.
@Bob Keeney : what do you do if you have to validate a whole form at once and show which field needs attention in one view ?
I flash the window background RED for approximately 250ms using a timer and show the error message in a strategically positioned label.
The users have to be trained so that when they see the red flash, they instinctively look at that label (or duck and cover, I confuse these two myself sometimes).
Slightly traumatizing but it works
I also flash the background green or blue when the data entry session’s work is successfully stored in the database and a new session starts.
Aren’t colors fun?
Wouldnt flashing risk triggering epileptic seizures?
except when you are color blind and can’t tell red from green or blue
and why color alone should never be the indicator ( I know you know this already but that was for those who rely solely on color as the marker)
the IDE for what its worth puts up a tool tip in some spots (enter a constant name with multiple spaces) and it returns focus to the field in error
BUT this is the kind of thing that can be done on a field by field basis as they are entered
thats not always the case
for instance if a person entered an address and you do some validation of zip/postal codes you cant validate that until they state/province has been entered and they could be entered out of order
true, but I’ve got no complaints about this so far. this condition is also something that we need to be notified of.
there are projects where the ability to recognize different colors is essential for doing one’s work right, ie record whether the signature of a color-scanned contract is original or a photocopy (blue/black)
That’s a good point. I usually either mark required fields with an asterisk or in red to begin with. If the user is dumb enough to not fill in the required fields they’re going to get a dialog saying they need to fill in that field even if it’s 20 different fields (only first failure gets a dialog).
But, I have done it (especially on web apps) where we turn the labels red or set the background of the textfield to yellow for an entire form.
There are many ways of doing this. I don’t think one way is more right than an other.
That got me thinking…
It seems, according to this article, that if you have this condition, you have much more to worry about than just a single rarely-occuring change of screen color.
But if anyone has experienced such thing first hand, I’d be interested in hearing that. I’d revise the whole thing if it is an issue.
Color is a great way to emphasize, but should not be the main source of information. As many as one in twelve users is color blind. Use text or symbols to explain the problem and colors to enhance the message.
I am no expert… but from what I have read… this is only an issue if the flashing is constant (or for a set period) and at a specific frequency range (which may be different for each person with that affliction)
MS just inject a line of red text under the fields in their new ui. Run the new calendar app and type rubbish into the date field to see it.