ASP.NET Tutorial/Validation/CompareValidator

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

asp:CompareValidator, Type="String", Operator="NotEqual" and ErrorMessage

   <source lang="csharp">

<html><body>

  <form runat="server">
     <asp:Label id="lblMessage" runat="server" />
<asp:Panel id="Panel1" runat="server">
              First and last name:
              <asp:TextBox id="tbFName" runat="server" />
              <asp:TextBox id="tbLName" runat="server" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="tbFName" ErrorMessage="First name required"/>
<asp:RequiredFieldValidator runat="server" ControlToValidate="tbLName" ErrorMessage="Last name required"/>
<asp:CompareValidator runat="server" ControlToValidate="tbFName" ControlToCompare="tbLName" Type="String" Operator="NotEqual" ErrorMessage="First and last name cannot be the same" />
              <asp:Button id="Submit" runat="server" 
                 text="Add" />
     </asp:Panel>
  </form>

</body></html></source>


Check birthday

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Login" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Simple Login Page</title>

</head> <body>

   <form id="form1" runat="server">
         Username:
<asp:TextBox id="usernameTextBox" runat="server" /> <asp:RequiredFieldValidator id="usernameReq" runat="server" ControlToValidate="usernameTextBox" ErrorMessage="Username is required!" SetFocusOnError="True" /> Password and Confirmation:
<asp:TextBox id="passwordTextBox" runat="server" TextMode="Password" /> <asp:RequiredFieldValidator id="passwordReq" runat="server" ControlToValidate="passwordTextBox" ErrorMessage="Password is required!" SetFocusOnError="True" Display="Dynamic" /> <asp:TextBox id="confirmPasswordTextBox" runat="server" TextMode="Password" /> <asp:RequiredFieldValidator id="confirmPasswordReq" runat="server" ControlToValidate="confirmPasswordTextBox" ErrorMessage="Password confirmation is required!" SetFocusOnError="True" Display="Dynamic" /> <asp:CompareValidator id="comparePasswords" runat="server" ControlToCompare="passwordTextBox" ControlToValidate="confirmPasswordTextBox" ErrorMessage="Your passwords do not match up!" Display="Dynamic" /> Birth Date:
<asp:TextBox id="birthDateTextBox" runat="server" /> <asp:CompareValidator id="birthDateCheck" runat="server" Operator="DataTypeCheck" Type="Date" ControlToValidate="birthDateTextBox" ErrorMessage="You must enter the date in a valid format!" SetFocusOnError="True" Display="Dynamic" /> <asp:Button id="submitButton" runat="server" Text="Submit" OnClick="submitButton_Click" />
   </form>

</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Login : System.Web.UI.Page {

   protected void submitButton_Click(object sender, EventArgs e)
   {
       if (Page.IsValid)
       {
           submitButton.Text = "Valid";
       }
       else
       {
           submitButton.Text = "Invalid!";
       }
   }

}</source>


CompareValidator compares the value of one form field against another form field.

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Show Compare Values</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:Label
       id="lblStartDate"
       Text="Start Date:"
       Runat="server" />
   <asp:TextBox
       id="txtStartDate"
       Runat="server" />
   

<asp:Label id="lblEndDate" Text="End Date:" Runat="server" /> <asp:TextBox id="txtEndDate" Runat="server" /> <asp:CompareValidator id="cmpDate" Text="(End date must be greater than start date)" ControlToValidate="txtEndDate" ControlToCompare="txtStartDate" Type="Date" Operator="GreaterThan" Runat="server" /> <asp:Button id="btnSubmit" Text="Submit" Runat="server" />
   </form>

</body> </html></source>


CompareValidator for number, text and password

   <source lang="csharp">

<%@ Page Language="C#"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Using CompareValidator Control</title>

</head> <body>

   <form id="form1" runat="server">
     Age:
<asp:TextBox ID="txtAge" runat="server"></asp:TextBox> <asp:CompareValidator ID="compAge" runat="server" ControlToValidate="txtAge" ValueToCompare="18" Operator="LessThanEqual" SetFocusOnError="true" Text="You are too old to view this site" /> Sales Date:
<asp:TextBox ID="txtDate" runat="server"></asp:TextBox> <asp:CompareValidator ID="compDate" runat="server" ControlToValidate="txtDate" Operator="DataTypeCheck" Type="Date" Text="Enter a valid date" /> Quantity:
<asp:TextBox ID="txtQuantity" runat="server"></asp:TextBox> <asp:CompareValidator ID="compQuantity" runat="server" ControlToValidate="txtQuantity" Operator="DataTypeCheck" Type="Integer" Text="Enter a valid whole number" /> Enter Password:
<asp:TextBox ID="txtPass1" runat="server" TextMode="password"></asp:TextBox> Reenter Password:
<asp:TextBox ID="txtPass2" runat="server" TextMode="password"></asp:TextBox> <asp:CompareValidator ID="compPass" runat="server" ControlToValidate="txtPass2" Operator="Equal" ControlToCompare="txtPass1" Text="Passwords must match" /> <asp:Button ID="btnSubmit" Text="Click this to test validation" runat="server" />
   </form>

</body> </html></source>


CompareValidator performs a comparison against a fixed value.

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">

   void Page_Load()
   {
       cmpDate.ValueToCompare = DateTime.Now.ToString("d");
   }

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Show Fixed Value</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:Label
       id="lblDate"
       Text="Date:"
       AssociatedControlID="txtDate"
       Runat="server" />
   <asp:TextBox
       id="txtDate"
       Runat="server" />
   <asp:CompareValidator
       id="cmpDate"
       Text="(Date must be greater than now)"
       ControlToValidate="txtDate"
       Type="Date"
       Operator="GreaterThan"
       Runat="server" />
   

<asp:Button id="btnSubmit" Text="Submit" Runat="server" />
   </form>

</body> </html></source>


CompareValidator performs three different types of validations

   <source lang="csharp">

A data type check Compare the value against a fixed value Compare the value against another

Important properties ControlToValidate: The ID of the form field being validated. Text: The error message. Type: The type of value being compared.

                  Possible values are String, Integer, Double, Date, and Currency.

Operator: The type of comparison to perform.

                  Possible values are DataTypeCheck, Equal, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual, and NotEqual.

ValueToCompare: The fixed value. ControlToCompare: The ID of a control against which to compare.

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Show Data Type Check</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:Label
       id="lblBirthDate"
       Text="Birth Date:"
       AssociatedControlID="txtBirthDate"
       Runat="server" />
   <asp:TextBox
       id="txtBirthDate"
       Runat="server" />
   <asp:CompareValidator
       id="cmpBirthDate"
       Text="(Invalid Date)"
       ControlToValidate="txtBirthDate"
       Type="Date"
       Operator="DataTypeCheck"
       Runat="server" />
   

<asp:Button id="btnSubmit" Text="Submit" Runat="server" />
   </form>

</body> </html></source>


CompareValidator with age field

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Login" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Simple Login Page</title>

</head> <body>

   <form id="form1" runat="server">
         Username:
<asp:TextBox id="usernameTextBox" runat="server" /> <asp:RequiredFieldValidator id="usernameReq" runat="server" ControlToValidate="usernameTextBox" ErrorMessage="Username is required!" SetFocusOnError="True" /> Password and Confirmation:
<asp:TextBox id="passwordTextBox" runat="server" TextMode="Password" /> <asp:RequiredFieldValidator id="passwordReq" runat="server" ControlToValidate="passwordTextBox" ErrorMessage="Password is required!" SetFocusOnError="True" Display="Dynamic" /> <asp:TextBox id="confirmPasswordTextBox" runat="server" TextMode="Password" /> <asp:RequiredFieldValidator id="confirmPasswordReq" runat="server" ControlToValidate="confirmPasswordTextBox" ErrorMessage="Password confirmation is required!" SetFocusOnError="True" Display="Dynamic" /> <asp:CompareValidator id="comparePasswords" runat="server" ControlToCompare="passwordTextBox" ControlToValidate="confirmPasswordTextBox" ErrorMessage="Your passwords do not match up!" Display="Dynamic" /> Age:
<asp:TextBox id="ageTextBox" runat="server" /> <asp:RequiredFieldValidator id="ageReq" runat="server" ControlToValidate="ageTextBox" ErrorMessage="Age is required!" SetFocusOnError="True" Display="Dynamic" /> <asp:CompareValidator id="ageCheck" runat="server" Operator="GreaterThan" Type="Integer" ControlToValidate="ageTextBox" ValueToCompare="15" ErrorMessage="You must be 16 years or older to log in" /> <asp:Button id="submitButton" runat="server" Text="Submit" OnClick="submitButton_Click" />
   </form>

</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Login : System.Web.UI.Page {

   protected void submitButton_Click(object sender, EventArgs e)
   {
       if (Page.IsValid)
       {
           submitButton.Text = "Valid";
       }
       else
       {
           submitButton.Text = "Invalid!";
       }
   }

}</source>


Disable Client Validation

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="DisableClientValidation" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form id="form1" runat="server">
   
   Quantity:
<asp:TextBox ID="txtQuantity" runat="server"></asp:TextBox> <asp:CompareValidator ID="compQuantity" runat="server" ControlToValidate="txtQuantity" Operator="DataTypeCheck" Type="Integer" EnableClientScript="false" Text="Enter a valid whole number" /> <asp:Button ID="btnSubmit" Text="Click this to test validation" runat="server" OnClick="btnSubmit_Click" /> <asp:Label ID="labContent" runat="server" /> </form>

</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class DisableClientValidation : System.Web.UI.Page {

   protected void btnSubmit_Click(object sender, EventArgs e)
   {
      if (IsValid)
      {
         int quantity = Convert.ToInt32(txtQuantity.Text);
         int unitCost = 5;
         int price = quantity * unitCost;
         labContent.Text = "Price for order is $" + price;
      }   
   }

}</source>


Making comparisons with the CompareValidator control

   <source lang="csharp">

<%@ Page Language="VB" %> <script runat="server">

   Protected Sub Button1_Click(sender As Object, e As EventArgs)
      Label1.Text = "Passwords match"
   End Sub

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>CompareFieldValidator</title>

</head> <body>

   <form id="Form1" runat="server">
       Age:
       <asp:TextBox ID="TextBox1" Runat="server"></asp:TextBox>
          
       <asp:CompareValidator ID="CompareValidator1" 
                             Runat="server"
                             Operator="GreaterThan" 
                             ValueToCompare="18"
                             ControlToValidate="TextBox1"
                             ErrorMessage="You must be older than 18 to join" 
                             Type="Integer">
       </asp:CompareValidator>
       
           <asp:Button ID="Button1" OnClick="Button1_Click" 
            Runat="server" Text="Login"></asp:Button>
       
       
           <asp:Label ID="Label1" Runat="server"></asp:Label>
       
   </form>

</body> </html></source>


Set DeleteParameters, InsertParameters and UpdateParameters for asp:SqlDataSource

   <source lang="csharp">

<%@ Page Language="VB" AutoEventWireup="false"%> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form id="form1" runat="server">
       <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
           DeleteCommand="DELETE FROM [Books] WHERE [BookID] = @BookID" 
           InsertCommand="INSERT INTO [Books] ([Title], [Author], [YearPublished], [Price], [LastReadOn], [PageCount]) VALUES (@Title, @Author, @YearPublished, @Price, @LastReadOn, @PageCount)"
           SelectCommand="SELECT * FROM [Books]" 
           UpdateCommand="UPDATE [Books] SET [Title] = @Title, [Author] = @Author, [YearPublished] = @YearPublished, [Price] = @Price, [LastReadOn] = @LastReadOn, [PageCount] = @PageCount WHERE [BookID] = @BookID">
           <DeleteParameters>
               <asp:Parameter Name="BookID" Type="Int32" />
           </DeleteParameters>
           <UpdateParameters>
               <asp:Parameter Name="Title" Type="String" />
               <asp:Parameter Name="Author" Type="String" />
               <asp:Parameter Name="YearPublished" Type="Int32" />
               <asp:Parameter Name="Price" Type="Decimal" />
               <asp:Parameter Name="LastReadOn" Type="DateTime" />
               <asp:Parameter Name="PageCount" Type="Int32" />
               <asp:Parameter Name="BookID" Type="Int32" />
           </UpdateParameters>
           <InsertParameters>
               <asp:Parameter Name="Title" Type="String" />
               <asp:Parameter Name="Author" Type="String" />
               <asp:Parameter Name="YearPublished" Type="Int32" />
               <asp:Parameter Name="Price" Type="Decimal" />
               <asp:Parameter Name="LastReadOn" Type="DateTime" />
               <asp:Parameter Name="PageCount" Type="Int32" />
           </InsertParameters>
       </asp:SqlDataSource>
   
       <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"
           DataSourceID="SqlDataSource1">
           <FooterStyle BackColor="#CCCC99" />
           <Columns>
               <asp:CommandField ShowDeleteButton="True" ButtonType="Button" DeleteText="Delete Book" />
               <asp:BoundField DataField="BookID" HeaderText="BookID" InsertVisible="False" ReadOnly="True"
                   SortExpression="BookID" />
               <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
               <asp:BoundField DataField="Author" HeaderText="Author" SortExpression="Author" />
               <asp:BoundField DataField="YearPublished" HeaderText="YearPublished" SortExpression="YearPublished" />
               <asp:BoundField DataField="Price" HeaderText="Price" SortExpression="Price" />
               <asp:BoundField DataField="LastReadOn" HeaderText="LastReadOn" SortExpression="LastReadOn" />
               <asp:BoundField DataField="PageCount" HeaderText="PageCount" SortExpression="PageCount" />
           </Columns>
           <RowStyle BackColor="#F7F7DE" />
           <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
           <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
           <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
           <AlternatingRowStyle BackColor="White" />
       </asp:GridView>
   </form>

</body> </html> File: Web.config <?xml version="1.0"?> <configuration>

   <connectionStrings>
       <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyFirstDatabase.mdf;Integrated Security=True;User Instance=True"
           providerName="System.Data.SqlClient" />
   </connectionStrings>

</configuration></source>


To specify the data types: Currency, Date, Double, Integer, String

   <source lang="csharp">

<%@ Page Language="VB" %> <script runat="server">

   Protected Sub Button1_Click(sender As Object, e As EventArgs)
      Label1.Text = "Passwords match"
   End Sub

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>CompareFieldValidator</title>

</head> <body>

   <form id="Form1" runat="server">
       Age:
       <asp:TextBox ID="TextBox1" Runat="server" MaxLength="3"/>
       <asp:CompareValidator ID="CompareValidator1" 
                             Runat="server"
                             ErrorMessage="You must enter a number"
                             ControlToValidate="TextBox1" 
                             Type="Integer"
                             Operator="DataTypeCheck"/>
       
           <asp:Button ID="Button1" OnClick="Button1_Click" 
            Runat="server" Text="Login"></asp:Button>
       
       
           <asp:Label ID="Label1" Runat="server"></asp:Label>
       
   </form>

</body> </html></source>


Use CompareValidator to check password field and confirm password field

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Login" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>Simple Login Page</title>

</head> <body>

   <form id="form1" runat="server">
         Username:
<asp:TextBox id="usernameTextBox" runat="server" /> <asp:RequiredFieldValidator id="usernameReq" runat="server" ControlToValidate="usernameTextBox" ErrorMessage="Username is required!" SetFocusOnError="True" /> Password and Confirmation:
<asp:TextBox id="passwordTextBox" runat="server" TextMode="Password" /> <asp:RequiredFieldValidator id="passwordReq" runat="server" ControlToValidate="passwordTextBox" ErrorMessage="Password is required!" SetFocusOnError="True" Display="Dynamic" /> <asp:TextBox id="confirmPasswordTextBox" runat="server" TextMode="Password" /> <asp:RequiredFieldValidator id="confirmPasswordReq" runat="server" ControlToValidate="confirmPasswordTextBox" ErrorMessage="Password confirmation is required!" SetFocusOnError="True" Display="Dynamic" /> <asp:CompareValidator id="comparePasswords" runat="server" ControlToCompare="passwordTextBox" ControlToValidate="confirmPasswordTextBox" ErrorMessage="Your passwords do not match up!" Display="Dynamic" /> <asp:Button id="submitButton" runat="server" Text="Submit" OnClick="submitButton_Click" />
   </form>

</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Login : System.Web.UI.Page {

   protected void submitButton_Click(object sender, EventArgs e)
   {
       if (Page.IsValid)
       {
           submitButton.Text = "Valid";
       }
       else
       {
           submitButton.Text = "Invalid!";
       }
   }

}</source>


Using the CompareValidator to test values against other control values

   <source lang="csharp">

<%@ Page Language="VB" %> <script runat="server">

   Protected Sub Button1_Click(sender As Object, e As EventArgs)
      Label1.Text = "Passwords match"
   End Sub

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>CompareFieldValidator</title>

</head> <body>

   <form id="Form1" runat="server">
       
           Password
<asp:TextBox ID="TextBox1" Runat="server" TextMode="Password"></asp:TextBox>   <asp:CompareValidator ID="CompareValidator1" Runat="server" ErrorMessage="Passwords do not match!" ControlToValidate="TextBox2" ControlToCompare="TextBox1"></asp:CompareValidator> Confirm Password
<asp:TextBox ID="TextBox2" Runat="server" TextMode="Password"></asp:TextBox> <asp:Button ID="Button1" OnClick="Button1_Click" Runat="server" Text="Login"></asp:Button> <asp:Label ID="Label1" Runat="server"></asp:Label> </form>

</body> </html></source>


Using the CompareValidator to validate against constants

   <source lang="csharp">

<%@ Page Language="VB" %> <script runat="server">

   Protected Sub Button1_Click(sender As Object, e As EventArgs)
      Label1.Text = "Passwords match"
   End Sub

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>CompareFieldValidator</title>

</head> <body>

   <form id="Form1" runat="server">
       Age:
       <asp:TextBox ID="TextBox1" Runat="server" MaxLength="3">
       </asp:TextBox>
       <asp:CompareValidator ID="CompareValidator1" 
                             Runat="server"
                             ErrorMessage="You must enter a number"
                             ControlToValidate="TextBox1" 
                             Type="Integer"
                             Operator="DataTypeCheck"/>
       
           <asp:Button ID="Button1" OnClick="Button1_Click" 
            Runat="server" Text="Login"></asp:Button>
       
       
           <asp:Label ID="Label1" Runat="server"></asp:Label>
       
   </form>

</body> </html></source>


What happens to asp:CompareValidator in the client side

   <source lang="csharp">

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="MyPage" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form id="form1" runat="server">
       Total number of children:
       <asp:TextBox ID="totalChildren" runat="server" Columns="4"></asp:TextBox>
       <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="totalChildren"
           ErrorMessage="The total number of children must be a whole number greater than or equal to 0"
           Operator="GreaterThanEqual" Type="Integer" ValueToCompare="0"></asp:CompareValidator>

<asp:Button ID="btnSubmit" runat="server" Text="Click Me" />

<asp:Label ID="results" runat="server"></asp:Label>
   </form>

</body> </html> File: Default.aspx.vb

Partial Class MyPage

   Inherits System.Web.UI.Page
   Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
       If Page.IsValid Then
           results.Text = "Input is valid..."
       Else
           results.Text = "Input is not valid..."
       End If
   End Sub

End Class</source>