ASP.
NET REQUIRED FIELD VALIDATORS
These are five validators provided by ASP.NET.
1. RequiredFieldValidator 2. RangeValidator 3. RegularExpressionValidator 4. CompareValidator 5. CustomValidator
One more control is also provided that is used to display the validation messages as a summary
ValidationSummary
RequiredFieldValidator: we can use this validator as the name suggests, to display the message that this is a required field. RangeValidator: Range validator is used to validate a control specifying the range of values that can be entered in the control. One thing to keep in mind if we format the control value say 9000 to 9,000 then the Range validator doesn't work. RegularExpressionValidator: This validator is one of the important validators that is used to validate whether the data is being entered in the correct format or not. And we can also validate the charactercount by regex. CompareValidator: This validator is used to compare the two control's value and show the message accordingly. Also please note here, if we format the numbers as I stated earlier in Range validators, then this validator does not work. CustomValidator: This validator is one of the key validators that is provided, here we can write our own JS function and server side method to validate the controls according to our need. ValidationSummary: This control is used to show all the validation messages for each failed validator (if any) in popup or in page as per setting.
Which Controls can be Validated
These validators on not only textbox but also several other controls like dropdown, checkbox, etc. All the controls that have validation property can be validated. The validation property is ValidationPropertyAttribute, which indicates which property should be read for the purposes of validation.
How they work:
Validators can work on both the client and the server. They get fired from the client machine on every change in the control, and also at the time of submission of the page.
Common Validation Control Properties & Methods
All the validation controls have a set of common properties and methods which are detailed below
Members
Description
ControlToValidate Display EnableClientScript Enabled ErrorMessage Text IsValid
Indicates the input control to validate. Indicates how the error message is shown. Indicates whether client side validation will take. Enables or disables the validator. Error string. Error text to be shown if validation fails. Indicates whether the value of the control is valid. It indicates whether in case of an invalid control, the focus should switch to the related input control. The logical group of multiple validators, where this control belongs. This method revalidates the control and updates the IsValid property
SetFocusOnError
ValidationGroup Validate()
The RequiredFieldValidator:
The RequiredFieldValidator control ensures that the required field is not empty. It is generally tied to a text box to force input into the text box. The syntax for the control: <asp:RequiredFieldValidator ID="rfvcandidate" runat="server" ControlToValidate ="ddlcandidate" ErrorMessage="Please choose a candidate" InitialValue="Please choose a candidate"> </asp:RequiredFieldValidator>
The RangeValidator:
The RangeValidator control verifies that the input value falls within a predetermined range. It has three specific properties:
Properties
Description
Type
it defines the type of the data; the available values are: Currency, Date, Double, Integer and String
MinimumValue
it specifies the minimum value of the range
MaximumValue
it specifies the maximum value of the range
The syntax for the control: <asp:RangeValidator ID="rvclass" runat="server" ControlToValidate="txtclass" ErrorMessage="Enter your class (6 - 12)" MaximumValue="12" MinimumValue="6" Type="Integer"> </asp:RangeValidator>
The CompareValidator:
The CompareValidator control compares a value in one control with a fixed value, or, a value in another control. It has the following specific properties:
Properties
Description
Type
it specifies the data type
ControlToCompare
it specifies the value of the input control to compare with
ValueToCompare
it specifies the constant value to compare with
Operator
it specifies the comparison operator, the available values are: Equal, NotEqual, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual and DataTypeCheck
The basic syntax for the control: <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator"> </asp:CompareValidator>
The RegularExpressionValidator
The RegularExpressionValidator allows validating the input text by matching against a pattern against a regular expression. The regular expression is set in the ValidationExpression property. The following table summarizes the commonly used syntax constructs for regular expressions:
Character Escapes
Description
\b
Matches a backspace
\t
Matches a tab
\r
Matches a carriage return
\v
Matches a vertical tab
\f
Matches a form feed
\n
Matches a new line
Escape character
Apart from single character match, a class of characters could be specified that can be matched, called the metacharacters.
Metacharacters
Description
Matches any character except \n
[abcd]
Matches any character in the set
[^abcd]
Excludes any character in the set
[2-7a-mA-M]
Matches any character specified in the range
\w
Matches any alphanumeric character and underscore
\W
Matches any non-word character
\s
Matches whitespace characters like, space, tab, new line etc.
\S
Matches any non-whitespace character
\d
Matches any decimal character
\D
Matches any non-decimal character
Quantifiers could be added to specify number of times a character could appear
Quantifier
Description
Zero or more matches
One or more matches
Zero or one matches
{N}
N matches
{N,}
N or more matches
{N,M}
Between N and M matches
The syntax for the control: <asp:RegularExpressionValidator ID="string" runat="server" ErrorMessage="string" ValidationExpression="string" ValidationGroup="string"> </asp:RegularExpressionValidator>
Here is the regex for the Internet Email Address using the RegularExpressionValidator in .NET \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
Luckily it is built in and you do not need to devise it yourself!
The CustomValidator:
The CustomValidator control allows writing application specific custom validation routines for both the client side and the server side validation. The client side validation is accomplished through the ClientValidationFunction property. The client side validation routine should be written in a scripting language, like JavaScript or VBScript, which the browser can understand. The server side validation routine must be called from the control.s ServerValidate event handler. The server side validation routine should be written in any .Net language, like C# or VB.Net. The basic syntax for the control <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction=.cvf_func. ErrorMessage="CustomValidator"> </asp:CustomValidator>
The ValidationSummary Control
The ValidationSummary control does not perform any validation but shows a summary of all errors in the page. The summary displays the values of the ErrorMessage property of all validation controls that failed validation. The following two mutually inclusive properties list out the error message:
ShowSummary: shows the error messages in specified format. ShowMessageBox: shows the error messages in a separate window.
The syntax for the control: <asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode = "BulletList" ShowSummary = "true" HeaderText="Errors:" />
Server Side Validation
The Page.IsValid Method can be used to check that the conditions of each validator on a page has been met when the page has been loaded,IsValid Validate()
It is set only when Page.Validate gets fired either explicitly called or implicitly. It is true only if all the objects in the Validators collection are valid, and it does not cache this value. This method is called at the time of validation.