2014-07-02 29 views
0

我在aspx页面上有一个可编辑行的中继器。该行有一个文本框和与其关联的必需字段验证程序。在'保存'按钮上单击该行,所需的字段值将触发,它与页面顶部的验证摘要绑定。ASP.NET,Multiple Val Summary not working;必填字段val不能触发

现在我在中继器下面有一个文本框和一个保存按钮。此面板在点击此面板顶部的链接按钮时使用jquery show方法“打开”。 对于这个texbox,所需的字段验证器不会触发。我对此文本框有不同的验证摘要;因为我只需点击保存按钮即可触发验证。

所以我有这样的代码,

<asp:ValidationSummary ID="validationSummary" ValidationGroup="ValidationGroup1" EnableClientScript="true" runat="server" /> 

<asp:ValidationSummary ID="validationSummary1" ValidationGroup="ValidationGroup2" EnableClientScript="true" runat="server" /> 

<asp:Repeater ID="Teams" runat="server" OnItemCommand="ItemCommand" OnItemDataBound="ItemDataBound"> 
    <HeaderTemplate> 
     <table > 
      <tr> 
       <th> 
        <asp:Label ID="lbTeamNameHeader" runat="server" Text="TeamNameHeader"></asp:Label></th> 

<th></th> </tr> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <tr> 
      <td> 
       <asp:TextBox ID="txtTeamName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "txtTeamName")%>' /> 
       <asp:RequiredFieldValidator ID="reqdFieldValTeamName" ErrorMessage="Field cannot be blank" ValidationGroup="ValidationGroup1" runat="server" Display="None" ControlToValidate="txtTeamName"></asp:RequiredFieldValidator> 
       <asp:RegularExpressionValidator ID="regularExprTeamName" ErrorMessage="Invalid input for the team name" ValidationGroup="ValidationGroup1" Display="None" ControlToValidate="txtTeamName" runat="server" ValidationExpression="^[a-zA-Z0-9]+$"></asp:RegularExpressionValidator> 
      </td> 

      <td> 
       <asp:Panel ID="panelSave" runat="server" Visible="false"> 
        <asp:LinkButton ID="linkbuttonSave" runat="server" CommandName="Save" ValidationGroup="ValidationGroup1" Text="SAVE" /> 
        <asp:LinkButton ID="linkbuttonCancel" runat="server" CommandName="Cancel" Text="CANCEL" /> 
       </asp:Panel> 
      </td> 
     </tr> 
    </ItemTemplate> 
    <FooterTemplate></table></FooterTemplate> 
</asp:Repeater> 
<asp:LinkButton ID="linkbuttonAddTeam" runat="server" Text="Add New Team" /> 
<div id="AddPanelDiv" style="display:none;"> 
    <asp:TextBox ID="txtAddTeam" runat="server" /> 
    <asp:RequiredFieldValidator ID="reqdFieldValAddTeam" ErrorMessage="Field cannot be blank" ValidationGroup="ValidationGroup2" runat="server" Display="None" ControlToValidate="txtAddTeam"></asp:RequiredFieldValidator> 
    <asp:RegularExpressionValidator ID="regularExprValAddTeam" ErrorMessage="Invalid format" ValidationGroup="ValidationGroup2" Display="None" ControlToValidate="txtAddTeam" runat="server" ValidationExpression="^[a-zA-Z0-9]+$"></asp:RegularExpressionValidator> 
    <asp:LinkButton ID="linkbuttonCancel" runat="server" Text="CANCEL"></asp:LinkButton> 
    <asp:LinkButton ID="linkbuttonSaveNewTeam" runat="server" OnClick="linkbuttonSaveNewTeam_OnClick" Text="SAVE" CausesValidation="true" /> 
    </div> 

为什么地球上验证了底部面板火?点击该保存按钮后,它立即转到页面方法onclick。

如果我删除验证组并点击保存在中继器中,它会触发!但那不是我想要的..

回答

0

您在第二个按钮上看起来像缺少ValidationGroup="ValidationGroup2"

<asp:LinkButton ID="linkbuttonSaveNewTeam" runat="server" OnClick="linkbuttonSaveNewTeam_OnClick" 
    Text="SAVE" CausesValidation="true" ValidationGroup="ValidationGroup2" /> 
+0

我的坏..我试试这个..非常感谢回复! – user3797607

+0

yayy!做到了!非常感谢您的参与!! – user3797607