I'm displaying input validations on my form with a
(!) (a white exclamation sign inside a red circle). Is it ok to make the Save button red (not as violently red as the circle, but some soft red color) until all errors are cleared?
If the user presses the save button when there are errors in the form (and thus the button is red), the application automatically focuses the first error field it encounters and shows the validation error balloon.
Is my approach right from a UX perspective? what other visual indications could be applied to the save button if not?
Edit: To clarify myself, the button turns "normal" when there are no more errors to correct. I has the same style and color as the rest of the buttons in the application, and only becomes red IF there are errors, which actually prevents saving.
Edit 2: I should have mentioned I'm using WPF. All these behaviors mentioned occur in real time when there is a validation error in the form, which is also validated in real time as the user inputs the data, so
As soon as you hit the backspace key and leave a required field blank (fo example) the following occurs:
1 - the
(!) sign is immediately drawn at the side of the problematic field.
2 - a red callout balloon appears above the
(!) sign containing a description of the error (such as "This field is mandatory.")
3 - The Save button becomes red.
Then, if the user presses the save button while in this state:
1 - The
keyboard focus will be immediately directed to the problematic field.
2 - The transition of that field from non-focused to focused makes the Balloon animation to execute again, therefore the balloon appears to "blink" once.
3 - The
(!) sign remains there (at the side of the problematic field), and it is not removed until the correction is made.
Then, finally when all fields are corrected:
1 - The Save button recovers the normal button chrome (light gray)
2 - all
(!) signs have already dissapeared from the screen as the user corrected the errors on each.
3 - Balloons are directly linked to keyboard focus and error state, so if there is no error state there is no balloon.