因此,我在一个页面上有一个登录框和一个注册框。两者都有RequiredField验证器。现在,当我单击登录或注册时,注册和登录字段都会得到验证。
然而,我想要它,如果注册被点击,只有注册字段得到验证,如果登录被单击登录字段得到验证。
你能帮帮我吗?
非常感谢!
发布于 2012-02-25 16:55:35
将ValidationGroup=" signup“分配给注册验证器和按钮,并将ValidationGroup=" login”分配给登录验证器和按钮
执行此操作时,只会触发同一组中的验证
发布于 2012-02-25 18:38:47
正如Dooie所说,您必须像这样分配VAlidation组
<table width="100%">
<tr>
<td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator1" runat="server"
ErrorMessage="RequiredFieldValidator"
ValidationGroup="Group1" ControlToValidate="TextBox1">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator2" runat="server"
ErrorMessage="RequiredFieldValidator"
ValidationGroup="Group2" ControlToValidate="TextBox2">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ValidationGroup="Group3" ControlToValidate="TextBox3">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator4" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="TextBox4">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClientClick="javascript:return validatePage();" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" />
</td>
</tr> 所有的验证,然后..。从上面的标记中,您可以看出有四个必需的字段验证器,并且在四个验证器中,有三个定义了验证组属性。在这种情况下,当您单击submit按钮时,只会执行没有验证组的验证器,即只会执行RequiredFiedlValidator4。由于有多个验证组,分配按钮的ValidationGroup将不起作用,因为它将只执行属于分配的验证组的验证器控件。不会执行属于其他验证组的其他验证器控件。此外,也无法使用按钮控件的ValidationGroup属性指定多个验证组。
解决这一问题的方法是调用Page_ClientValidate javascript函数。Page_ClientValidate是由ASP.NET生成的javascript函数,该函数以验证组名称为参数。下面粘贴了在单击submit按钮时调用的javascript函数。
<script language="javascript" type="text/javascript">
function validatePage()
{
//Executes all the validation controls associated with group1 validaiton Group1.
var flag = Page_ClientValidate('Group1');
if (flag)
//Executes all the validation controls associated with group1 validaiton Group2.
flag = Page_ClientValidate('Group2');
if (flag)
//Executes all the validation controls associated with group1 validaiton Group3.
flag = Page_ClientValidate('Group3');
if (flag)
//Executes all the validation controls which are not associated with any validation group.
flag = Page_ClientValidate();
return flag;
}
</script>希望这对您有帮助.............
https://stackoverflow.com/questions/9442324
复制相似问题