ASP.NET ValidationGroup属性用于将验证控件分组,使得只有属于同一组的验证控件才会进行验证。
通过给验证控件设置相同的ValidationGroup属性值,可以将它们分组在一起。当执行页面的验证操作时,只有属于当前激活的ValidationGroup的验证控件才会进行验证。
这个属性通常用于拥有多个功能或按钮的页面,每个按钮执行不同的操作,需要验证不同的输入。例如,一个登录页面可能包含用户名和密码的验证,以及“登录”和“注册”两个按钮。可以将用户名和密码的验证控件分组在一起,并将登录按钮和注册按钮分别分组。当点击“登录”按钮时,只会验证用户名和密码的输入;当点击“注册”按钮时,只会验证注册信息的输入。
示例代码如下:
<asp:TextBox ID="txtUsername" runat="server" ValidationGroup="login"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvUsername" runat="server" ControlToValidate="txtUsername" ValidationGroup="login" ErrorMessage="请输入用户名"></asp:RequiredFieldValidator>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" ValidationGroup="login"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvPassword" runat="server" ControlToValidate="txtPassword" ValidationGroup="login" ErrorMessage="请输入密码"></asp:RequiredFieldValidator>
<asp:Button ID="btnLogin" runat="server" Text="登录" ValidationGroup="login" OnClick="btnLogin_Click" />
<asp:TextBox ID="txtEmail" runat="server" ValidationGroup="register"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvEmail" runat="server" ControlToValidate="txtEmail" ValidationGroup="register" ErrorMessage="请输入邮箱"></asp:RequiredFieldValidator>
<asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password" ValidationGroup="register"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvConfirmPassword" runat="server" ControlToValidate="txtConfirmPassword" ValidationGroup="register" ErrorMessage="请输入确认密码"></asp:RequiredFieldValidator>
<asp:Button ID="btnRegister" runat="server" Text="注册" ValidationGroup="register" OnClick="btnRegister_Click" />
在上面的示例中,用户名和密码的验证控件属于“login”分组,邮箱和确认密码的验证控件属于“register”分组。当点击登录按钮时,只会验证“login”分组的输入;当点击注册按钮时,只会验证“register”分组的输入。