Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Validating Against a Specific Value for ASP.NET Server Controls

You can validate a user's entry against a specific single value using logical operators. For example, you can specify that the user's entry is a date after January 1, 1950 or that it is an integer value greater than or equal to zero. Alternatively, you can specify that the user's entry be compared against a value from another control.

Security Note   User input in a Web Forms page can include potentially malicious client script. By default, the Web Forms page validates that user input does not include script or HTML elements. For more information, see Scripting Exploits and Protecting Against Script Exploits in a Web Application.

To validate against a specific value

  1. Add a CompareValidator control to the page and set the following properties:
    PropertyDescription
    ControlToValidateThe ID of the control to validate.
    ErrorMessage, Text, DisplayProperties that specify the text and location of the error or errors that will appear if the validation fails. For details, see Controlling Validation Error Message Display for ASP.NET Server Controls.
  2. Set the value to compare to by setting the following properties:
    PropertyDescription
    ValueToCompare
    - or -
    ControlToCompare
    An expression entered as a string. To compare to a constant value, set the ValueToCompare property. To compare against the value of another control, set the ControlToCompare property to the ID of that control (the CompareValidator control compares the user's entry against whatever property is specified by the other control's ValidationPropertyAttribute). If you set both ValueToCompare and ControlToCompare, ControlToCompare takes precedence.
    TypeThe data type of the two values to be compared. Types are specified using the ValidationDataType enumeration, which allows you to use the type name String, Integer, Double, Date, or Currency. The values are converted to this type before the comparison is performed.
    OperatorThe comparison to use. Operators are specified using the ValidationCompareOperator enumeration, which allows you to enter the name of the comparison operators, such as Equal, NotEqual, GreaterThan, GreaterThanEqual, and so on.
    Note   When validation is done against another control, invalid values in the other control are ignored and the validation passes. For details, see Special-Case Validation Results for ASP.NET Server Controls.
  3. Add a test in your Web Forms code to check for validity. For details, see Testing Validity Programmatically for ASP.NET Server Controls.

The following example shows the .aspx file of a Web Forms Textbox control with a CompareValidator control. A table is used to handle layout.

<TABLE>
<TR>
<TD>
   <asp:Textbox id="txtAge" runat="server"></asp:Textbox>
</TD>
<TD>
   <asp:CompareValidator id="CompareFieldValidator1" runat="server"
      ForeColor="Red"
      ControlToValidate="txtAge"
      ValueToCompare=0
      Type="Integer"
      Operator="GreaterThanEqual"
      ErrorMessage="Please enter a whole number zero or greater.">
   </asp:CompareValidator >
</TD>
</TR>
</TABLE>

The following example shows a CompareValidator that compares the user's entry against the value in another control. In a form that allows users to make reservations at a hotel, the validator checks that the user does not enter a departure date earlier than the arrival date. (In a real application, the departure date would be required and validated as a date as well.)

<TABLE>
<TR>
<TD>
   Arrive<asp:Textbox id=txtArrivalDate runat="server"></asp:Textbox>
   Depart<asp:Textbox id=txtDepartureDate runat="server"></asp:Textbox>
</TD>
<TD>
   <asp:CompareValidator id="CompareFieldValidator1" runat="server"
         ForeColor="Red"
         ControlToValidate="txtDepartureDate"
         ControlToCompare="txtArrivalDate"
         Type="Date"       
         Operator="GreaterThanEqual"      
         ErrorMessage="Departure date cannot be earlier than arrival date.">
   </asp:CompareValidator >
</TD>
</TR>
</TABLE>

See Also

Introduction to Validating User Input in Web Forms | Controlling Validation Error Message Display for ASP.NET Server Controls | Validating Required Entries for ASP.NET Server Controls | Validating Against a Data Type for ASP.NET Server Controls

Show:
© 2015 Microsoft