ASP.NET Tutorial/Validation/Introduction — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 18:30, 26 мая 2010
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>