Is it better to give a warning message for completing certain action before submitting it (in an online form)?
If not, then will disabling the main action (submit) button to avoid any error be of any help?
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It only takes a minute to sign up.
Sign up to join this communityYou don't want to disable the submit action button.
The user will see the form with corresponding buttons. If some input is also marked with an asterisk (as being mandatory) it will be very clear to the user that "Ok, so I probably need to fill some info in before continuing..". So the user will conventionally not try to continue before filling in the form.
Letting the submit action be active also works as an enforcer that submitting will be possible when the form is filled, having the action disabled somewhat takes away that sensation.
And if you're not using in-line validation then letting a user trigger a submit that fails is also a good window to display "error messages" close to the input controls that still needs to be filled in.
Plus it's always good to follow convention:
If you disable or hide the submit button on a form until it is completed properly, you're going to be making your users guess - at best, they'll keep filling in likely-looking fields and then going to re-check the state of the Submit button. At worst, they'll assume submission is presently disabled for some unknown reason and leave without submitting anything.
It's better, where possible, to validate the user's actions in each field as they go: don't wait until the very end to tell them that their username is already taken or their password does not comply to conventions. Check that as soon as the field loses focus, and do so unobtrusively (add a label to the page next to the field rather than popping up an alert box).
For actions that must be performed before submission ("You must agree to our Terms and Conditions and Privacy Policy to register with this site" etc), make it clear by making the control prominent (bold text, coloured background etc).
If your form is a mixture of required fields and optional fields, it's better to leave the optional ones out altogether and make the form shorter (and thereby less daunting to the user, and much more clarity on what absolutely must be entered - all of it). Once the user has submitted the form, you can display something like
Thanks! Your data has been submitted. You can help us improve our service by answering some more questions below.
And list the other fields.