首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证多个控件Asp.Net

验证多个控件Asp.Net
EN

Stack Overflow用户
提问于 2012-02-25 15:51:54
回答 2查看 6.7K关注 0票数 1

因此,我在一个页面上有一个登录框和一个注册框。两者都有RequiredField验证器。现在,当我单击登录或注册时,注册和登录字段都会得到验证。

然而,我想要它,如果注册被点击,只有注册字段得到验证,如果登录被单击登录字段得到验证。

你能帮帮我吗?

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-25 16:55:35

将ValidationGroup=" signup“分配给注册验证器和按钮,并将ValidationGroup=" login”分配给登录验证器和按钮

执行此操作时,只会触发同一组中的验证

票数 4
EN

Stack Overflow用户

发布于 2012-02-25 18:38:47

正如Dooie所说,您必须像这样分配VAlidation组

代码语言:javascript
复制
       <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函数。

代码语言: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>

希望这对您有帮助.............

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9442324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档