ASP.NET Tutorial/Validation/Introduction

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

Disabling Validation

   <source lang="csharp">

Set False to CausesValidation property of Button, LinkButton, and ImageButton control then clicking the button bypasses any validation in the page. <%@ 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 btnCancel_Click(Object sender, EventArgs e)
   {
       Response.Redirect("~/Default.aspx");
   }

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

   <title>Show Disable Validation</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:Label
       id="lblFirstName"
       Text="First Name:"
       AssociatedControlID="txtFirstName"
       Runat="server" />
   <asp:TextBox
       id="txtFirstName"
       Runat="server" />
   <asp:RequiredFieldValidator
       id="reqFirstName"
       ControlToValidate="txtFirstName"
       Text="(Required)"
       Runat="server" />
   <asp:Button
       id="btnSubmit"
       Text="Submit"
       Runat="server" />
   <asp:Button
       id="btnCancel"
       Text="Cancel"
       OnClick="btnCancel_Click"
       CausesValidation="false"
       Runat="server" />
   </form>

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


ServerValidateEventArgs has two properties:

   <source lang="csharp">

Value: the value of the form field being validated. IsValid: whether validation fails or succeeds. ValidateEmptyText: whether validation is performed without a value. <%@ 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 valComments_ServerValidate(Object source, ServerValidateEventArgs args)
   {
       if (args.Value.Length > 10)
           args.IsValid = false;
       else
           args.IsValid = true;
   }

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

   <script type="text/javascript">
   function valComments_ClientValidate(source, args)
   {
       if (args.Value.length > 10)
           args.IsValid = false;
       else
           args.IsValid = true;
   }
   </script>
   <title>Show CustomValidator with JavaScript</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:Label
       id="lblComments"
       Text="Comments:"
       AssociatedControlID="txtComments"
       Runat="server" />
   
<asp:TextBox id="txtComments" TextMode="MultiLine" Columns="30" Rows="5" Runat="server" /> <asp:CustomValidator id="valComments" ControlToValidate="txtComments" Text="(Comments must be less than 10 characters)" OnServerValidate="valComments_ServerValidate" ClientValidationFunction="valComments_ClientValidate" Runat="server" /> <asp:Button id="btnSubmit" Text="Submit" Runat="server" />
   </form>

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


Six validation controls are included in the ASP.NET 3.5 Framework:

   <source lang="csharp">

RequiredFieldValidator: require a user to enter a value in a form field. RangeValidator: check whether a value falls between a certain minimum and maximum value. CompareValidator: compare a value against another value or perform a data type check. RegularExpressionValidator: compare a value against a regular expression. CustomValidator: perform custom validation. ValidationSummary: display a summary of all validation errors in a page.

<%@ 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 btnSubmit_Click(Object sender, EventArgs e)
   {
       if (Page.IsValid)
       {
           lblResult.Text = @"
Product: " + txtProductName.Text + "
Price: " + txtProductPrice.Text + "
Quantity: " + txtProductQuantity.Text; } }

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

   <title>Order Form</title>

</head> <body>

   <form id="form1" runat="server">
   <fieldset>
   <legend>Order Form</legend>
   <asp:Label
       id="lblProductName"
       Text="Product Name:"
       AssociatedControlID="txtProductName"
       Runat="server" />
   
<asp:TextBox id="txtProductName" Runat="server" /> <asp:RequiredFieldValidator id="reqProductName" ControlToValidate="txtProductName" Text="(Required)" Runat="server" />

<asp:Label id="lblProductPrice" Text="Product Price:" AssociatedControlID="txtProductPrice" Runat="server" />
<asp:TextBox id="txtProductPrice" Columns="5" Runat="server" /> <asp:RequiredFieldValidator id="reqProductPrice" ControlToValidate="txtProductPrice" Text="(Required)" Display="Dynamic" Runat="server" /> <asp:CompareValidator id="cmpProductPrice" ControlToValidate="txtProductPrice" Text="(Invalid Price)" Operator="DataTypeCheck" Type="Currency" Runat="server" /> <asp:Label id="lblProductQuantity" Text="Product Quantity:" AssociatedControlID="txtProductQuantity" Runat="server" />
<asp:TextBox id="txtProductQuantity" Columns="5" Runat="server" /> <asp:RequiredFieldValidator id="reqProductQuantity" ControlToValidate="txtProductQuantity" Text="(Required)" Display="Dynamic" Runat="server" /> <asp:CompareValidator id="CompareValidator1" ControlToValidate="txtProductQuantity" Text="(Invalid Quantity)" Operator="DataTypeCheck" Type="Integer" Runat="server" /> <asp:Button id="btnSubmit" Text="Submit Product Order" OnClick="btnSubmit_Click" Runat="server" /> </fieldset> <asp:Label id="lblResult" Runat="server" />
   </form>

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