Where Form Data Can Be Validated
Oftentimes, it is desirable to validate information typed into forms.
There are four places where user-provided form data can be checked for errors:
-
Immediately when a form field is filled in.
JavaScript in the web page with the form can validate the data of individual form fields when they have been filled in or as they are being typed.
-
Immediately when the form is submitted.
JavaScript in the web page with the form can validate the data being submitted before the submission is allowed to proceed.
-
When the form processor receives it.
The form processor itself can validate the data, then provide the user with an error message or process the submitted information, as appropriate.
-
After the form is submitted and before the form processor receives it.
The form can be submitted to data validating software. The software then either routes the submission to the form processor or returns the user back to the form for corrections.
My preference is to validate form information before it is submitted. And this is why:
When information is validated immediately as fields are filled in or as the form is being submitted, the form user can quickly be aware of any errors assuming clear error messages for the user.
When information is validated with the form processing software, the form user has to wait for the form submission to be sent to the server, then see the error message, then click the "back" button. Some browsers will empty the form when backed to it, requiring the user to type everything all over again.
A drawback for using JavaScript for validation is it can require a lot of code, especially for large forms with tight or sophisticated data formatting requirements. I still prefer JavaScript because it respects the form user's time.
Loosening the requirements as much as possible and still ensure mostly correct data, and then tweaking the JavaScript for succinctness could have a positive effect on page loads.
An alternative to the above is to code the form on a PHP page that submits to itself for data validating.
This has the drawback that the form user needs to wait for the submission to take place. It's advantage is that the form can be re-displayed, data filled in, with the places where errors occurred clearly marked blinking red dots, orange text, thick-bordered form fields, whatever.
When no errors are found, the PHP submits the form information to the form processing software.
Using PHP for data validating can result in intuitive, professional-acting forms. Still, I prefer JavaScript for speedy validation and immediate messages to the form user.
Will Bontrager