Range Checking

At times, you’ll want to validate that a user’s entry falls within a range. That range can be within a pair of numbers, characters, or dates. In addition, you can express the boundaries for the range by using constants or by comparing its value with values found in other controls.

To demonstrate, add a new web page to the C11_Validation website and name it RangeValidator.aspx. Copy the contents of CompareValidator.aspx to this new page. In this example, you’ll add another row to the bug tracker form to allow the user to specify the priority of the bug. This must be a number between 1 and 7.

Add a new row to the table in RangeValidator.aspx between the page number TextBox and the first password TextBox. You’ll need to add a TextBox control (txtPriority) and two validators to the control: a RequiredFieldValidator (rfvPriority) and a RangeValidator (rngPriority).

<tr>
   <td>Priority:</td>
   <td><asp:TextBox ID="txtPriority" runat="server" /></td>
   <td>
      <asp:RequiredFieldValidator ID="rfvPriority" runat="server" 
         ErrorMessage="Please enter a priority for the bug" Text="*"
         ControlToValidate="txtPriority" />

      <asp:RangeValidator ID="rngPriority" runat="server" Text="*"
         ErrorMessage="Priority must be between 1 (high) and 7 (low)"
         ControlToValidate="txtPriority" Display="Static" Type="Integer"
         MaximumValue="7" MinimumValue="1" />
   </td>
</tr>

Now run the page and enter a value that is not between 1 and 7 in the Priority text box. The text “Priority must be between 1 (high) and 7 ...

Get Programming ASP.NET 3.5, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.