Improved Input Validation - Server Control
(Page 9 of 9 )
Time to focus on the server control that makes this all possible: the ValidationSummary validation control.
<%
<asp:ValidationSummary runat="server" ID="cc_validsumm" ValidationSummaryDisplayMode="bulletlist" HeaderText="Sorry, the form could not be submitted because the following errors occurred:" />
%>
As usual, there are a list of attributes to deal with here. First, the "ValidationSummaryDisplayMode" attribute controls the manner in which the error messages are displayed to the user. This attributes takes three different values - "BulletList", "List" and "Paragraph", all of which are self explanatory.
Next, the "HeaderText" property is used to define the text that appears before the list of the error messages. There are two useful values here. The "ShowMessageBox" value shows the error messages in a neat little message box, while the "ShowSummary" value is a Boolean that controls the display of the error messages in the browser.
But what about the existing validation controls? How come they don't display their respective error messages under the associated text box controls? I told them not to, by setting the "Display" attribute of each to "none". This ensures that the error messages are not displayed by the individual validation controls.
And that's about it. Since its time to bid adieu, let me quickly run through what we learned today. I started this article with an introduction to the concept of regular expressions, and followed up with a quick overview of the RegularExpressionValidator control, used to check input against a regex associated with each control. The combination of this server-side control with powerful regular expressions ensures that you will always be able to deal with complex form field validation requirements.
This was followed by the CustomValidator control, which allows you to define your own custom validation functions in any .NET compatible language and associate them with server controls. Finally, the ValidationSummary control allows you to present a neat little summary of the errors that occurred when the form was submitted.
With that, I bring this two-part segment on validation controls to a close. I hope you enjoyed reading it as much I did writing it. Till next time, ciao!
Note: Examples are illustrative only, and are not meant for a production environment. Melonfire provides no warranties or support for the source code described in this article.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |