When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips

Sections:
Sample Chapters
Commonly Asked Message Board Questions
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
XML Info
Information:
Feedback
Author an Article
ASP ASP.NET ASP FAQs Message Board Feedback

The 4 Guys Present: ASPFAQs.com

Jump to a FAQ
Enter FAQ #:
..or see our 10 Most Viewed FAQs.

4GuysFromRolla.com : ASP FAQS : Forms


Question:

How can I ensure that a form field has a particular value? (That is, how can I perform form validation?)


[Print this FAQ]

Answer: When presenting your users with a form to enter information, you want to ensure that the values they enter are in the correct format. For example, if you ask a user to enter his or her zip code and they enter "Bob," you don't want to let them continue until they fix the entry and enter a ZIP code in the correct format. The process (or art) of ensuring that all form fields comply to a certain format is known as form validation.

There are two different ways to perform form validation: on the client, or on the server. Client-side form validation can be accomplished trough writing client-side JavaScript code in the HTML page that contains the form. With this client-side code, when user attepts to submit a form, the client-side JavaScript code is executed and checks the form values. If the form contains invalid entries, the user is informed and must fix them before the form can be submitted. Therefore, there are no trips back to the Web server until the form is valid. To learn more about client-side form validation check out these articles:
Form Validation Using JavaScript
Validating Data Using JavaScript

Server-side form validation differs from client-side form validation in that it does not occur until the form is submitted back to the Web server. When it is, at that point the form values are checked to ensure that the are valid. If they are, the script can continue processing. If the form values are invalid, however, the script must send the user an error message and take them back to the form to let them correct their invalid entries.

There are a number of great server-side form validation articles on 4Guys as well:
Server-side Form Validation
Using the Dictionary Object for Data Collection & Validation
Using Regular Expressions to Validate Input

At this point you may be wondering what to use - client-side validation or server-side validation? Both have their advantages and disadvantages. Client-side form validation is nice because it does not require a round trip to the Web server to ensure that the data is valid. However, client-side form validation only works in browsers that support (and have enabled) JavaScript. Also, industrious users can sneak around client-side form validation routines in a number of ways if they are so inclined. Server-side form validation, on the other hand, cannot be so easily "tricked" by an experienced user, and server-side form validation will work for any user, since there are no browser dependencies. Unfortunately, server-side form validation does require a round-trip to the Web server...

In my opinion, it is imperative that you - at a minimum - include server-side form validation. Adding client-side form validation in addition is nice, since it prevents needless round-trips, but relying solely on client-side form validation is foolish since it cannot, 100% of the time, catch all validation errors (again, some folks may not have JavaScript enabled in their browsers, others may seek to "trick" the client-side code...).

FAQ posted by Scott Mitchell at 10/6/2000 7:50:01 PM to the Forms category. This FAQ has been viewed 58,110 times.

Do you have a FAQ you'd like to suggest? Suggestions? Comments? If so, send it in! Also, if you'd like to be a FAQ Admin (creating/editing FAQs), let me know! If you are looking for other FAQs, be sure to check out the 4Guys FAQ and Commonly Asked Messageboard Questions!

Most Viewed FAQs:

1.) How can I format numbers and date/times using ASP.NET? For example, I want to format a number as a currency. (761643 views)
2.) I am using Access and getting a 80004005 error (or a [Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)' error) when trying to open a connection! How can I fix this problem? (207777 views)
3.) How can I convert a Recordset into an array? Also, how can I convert an array into a Recordset? (202549 views)
4.) How can I quickly sort a VBScript array? (196039 views)
5.) How can I find out if a record already exists in a database? If it doesn't, I want to add it. (156019 views)
6.) How do I display data on a web page using arrays instead of Do...While...MoveNext...???... (152331 views)
7.) When I get a list of all files in a directory via the FileSystemObject, they aren't ordered in any reasonable way. How can I sort the files by name? Or by size? Or by date created? Or... (140381 views)
8.) For session variables to work, must the Web visitor have cookies enabled? (110162 views)
9.) Can I send emails without using CDONTS? (107083 views)
10.) How can I take the result of a SELECT...MULTIPLE or a group of same-named checkboxes and turn it into a query? That is, if the user selects 3 answers, how can I construct a query that looks for all 3? (106308 views)
Last computed at 9/17/2007 3:22:00 AM


ASP.NET [1.x] [2.0] | ASPMessageboard.com | ASPFAQs.com | Advertise | Feedback | Author an Article