ASP.NET Tutorial/Validation/ValidationGroup
Содержание
<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 btnLogin_Click(Object sender, EventArgs e) { if (Page.IsValid) lblLoginResult.Text = "Log in successful!"; } void btnRegister_Click(Object sender, EventArgs e) { if (Page.IsValid) lblRegisterResult.Text = "Registration successful!"; }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Show Validation Groups</title>
</head> <body>
<form id="form1" runat="server">
<fieldset> <legend>Login</legend> <asp:Label id="lblUserName" Text="User Name:" AssociatedControlID="txtUserName" Runat="server" />
<asp:TextBox id="txtUserName" Runat="server" /> <asp:RequiredFieldValidator id="reqUserName" ControlToValidate="txtUserName" Text="(Required)" ValidationGroup="LoginGroup" Runat="server" />
<asp:Label id="lblPassword" Text="Password:" AssociatedControlID="txtPassword" Runat="server" />
<asp:TextBox id="txtPassword" TextMode="Password" Runat="server" /> <asp:RequiredFieldValidator id="reqPassword" ControlToValidate="txtPassword" Text="(Required)" ValidationGroup="LoginGroup" Runat="server" /> <asp:Button id="btnLogin" Text="Login" ValidationGroup="LoginGroup" Runat="server" OnClick="btnLogin_Click" /> </fieldset> <asp:Label id="lblLoginResult" Runat="server" />
<fieldset> <legend>Register</legend> <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)" ValidationGroup="RegisterGroup" Runat="server" />
<asp:Label id="lblLastName" Text="Last Name:" AssociatedControlID="txtLastName" Runat="server" />
<asp:TextBox id="txtLastName" Runat="server" /> <asp:RequiredFieldValidator id="reqLastName" ControlToValidate="txtLastName" Text="(Required)" ValidationGroup="RegisterGroup" Runat="server" />
<asp:Button id="btnRegister" Text="Register" ValidationGroup="RegisterGroup" Runat="server" OnClick="btnRegister_Click" /> </fieldset> <asp:Label id="lblRegisterResult" Runat="server" />
</form>
</body> </html></source>
Group based validation (C#)
<source lang="csharp">
File: Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="ValidationGroups" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
<title>Untitled Page</title>
</head> <body>
<form id="form1" runat="server">
<asp:Panel Height="112px" ID="Panel1" runat="server" Width="392px"> <asp:TextBox ID="TextBox1" runat="server" ValidationGroup="Group1"></asp:TextBox> <asp:RequiredFieldValidator ErrorMessage="*Required" ID="RequiredFieldValidator1" runat="server" ValidationGroup="Group1" ControlToValidate="TextBox1"></asp:RequiredFieldValidator> <asp:Button ID="Button1" runat="server" Text="Validate Group1" ValidationGroup="Group1" OnClick="Button_Click"/></asp:Panel>
<asp:Panel Height="94px" ID="Panel2" runat="server" Width="392px" BorderWidth="2px"> <asp:TextBox ID="TextBox2" runat="server" ValidationGroup="Group2"></asp:TextBox> <asp:RequiredFieldValidator ErrorMessage="*Required" ID="RequiredFieldValidator2" runat="server" ValidationGroup="Group2" ControlToValidate="TextBox2"> </asp:RequiredFieldValidator>
<asp:Button ID="Button2" runat="server" Text="Validate Group2" ValidationGroup="Group2" OnClick="Button_Click"/></asp:Panel> <asp:Label EnableViewState="False" ID="lblInfo" runat="server"></asp:Label>
</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 ValidationGroups : System.Web.UI.Page {
protected void Button_Click(object sender, EventArgs e) { if (Page.IsValid) { lblInfo.Text = "Page posted back at " + DateTime.Now.ToLongTimeString(); } }
}</source>
Two validation groups
<source lang="csharp">
<%@ page language="C#" %> <script runat="server"> </script> <html> <head runat="server">
<title>Untitled Page</title>
</head> <body>
<form runat="server">
First form
<asp:textbox id="TextBox1" runat="server" validationgroup="firstform"> </asp:textbox> <asp:requiredfieldvalidator id="RequiredFieldValidator1" runat="server" display="Dynamic" setfocusonerror="True" validationgroup="firstform" controltovalidate="TextBox1">***</asp:requiredfieldvalidator>
<asp:button id="Button1" runat="server" validationgroup="firstform" text="Submit" />
Second form
<asp:textbox id="TextBox2" runat="server" validationgroup="secondform"> </asp:textbox> <asp:requiredfieldvalidator id="RequiredFieldValidator2" runat="server" display="Dynamic" setfocusonerror="True" validationgroup="secondform" controltovalidate="TextBox2">***</asp:requiredfieldvalidator>
<asp:button id="Button2" runat="server" validationgroup="secondform" text="Submit" /> </form>
</body> </html></source>
Using the ValidationGroup property (VB)
<source lang="csharp">
<%@ Page Language="VB" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Validation Groups</title>
</head> <body>
<form id="form1" runat="server">
St. Louis .NET User Group
Username: <asp:TextBox ID="TextBox1" Runat="server"></asp:TextBox> Password: <asp:TextBox ID="TextBox2" Runat="server" TextMode="Password"></asp:TextBox> <asp:Button ID="Button1" Runat="server" Text="Login" ValidationGroup="Login" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" Runat="server" ErrorMessage="* You must submit a username!" ControlToValidate="TextBox1" ValidationGroup="Login"> </asp:RequiredFieldValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" Runat="server" ErrorMessage="* You must submit a password!" ControlToValidate="TextBox2" ValidationGroup="Login"> </asp:RequiredFieldValidator>
Sign-up for the newsletter!
Email: <asp:TextBox ID="TextBox3" Runat="server"></asp:TextBox> <asp:Button ID="Button2" Runat="server" Text="Sign-up" ValidationGroup="Newsletter" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" Runat="server" ErrorMessage="* You must submit a correctly formatted email address!" ControlToValidate="TextBox3" ValidationGroup="Newsletter" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"> </asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" Runat="server" ErrorMessage="* You forgot your email address!" ControlToValidate="TextBox3" ValidationGroup="Newsletter"> </asp:RequiredFieldValidator>
</form>
</body> </html></source>
Validation Groups Demo
<source lang="csharp">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head> <title>Validation Groups Demo</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" ValidationGroup="Login" /> Password:
<asp:TextBox id="passwordTextBox" runat="server" TextMode="Password" /> <asp:RequiredFieldValidator id="passwordReq" runat="server" ControlToValidate="passwordTextBox" ErrorMessage="Password is required!" SetFocusOnError="True" ValidationGroup="Login" /> <asp:Button ID="loginButton" runat="server" Text="Log In" ValidationGroup="Login" />
Register
Username:
<asp:TextBox id="newUserNameTextBox" runat="server" /> <asp:RequiredFieldValidator id="newUserNameReq" runat="server" ControlToValidate="newUserNameTextBox" ErrorMessage="Username is required!" SetFocusOnError="True" ValidationGroup="Register" /> Password:
<asp:TextBox id="newPasswordTextBox" runat="server" TextMode="Password" /> <asp:RequiredFieldValidator id="newPasswordReq" runat="server" ControlToValidate="newPasswordTextBox" ErrorMessage="Password is required!" SetFocusOnError="True" ValidationGroup="Register" /> <asp:Button ID="registerButton" runat="server" Text="Register" ValidationGroup="Register" /> </form> </body>
</html></source>