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
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.
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.
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.
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)