【发布时间】:2015-07-29 04:03:58
【问题描述】:
我有这个 Asp.Net 网络表单代码:
<div class="content-wrapper">
<asp:Panel runat="server">
<asp:TextBox runat="server" ID="txt1" />
<asp:RequiredFieldValidator runat="server" ValidationGroup="fgEm1" ControlToValidate="txt1" ErrorMessage="Required" />
<asp:Button runat="server" Text="Confirm my email" ValidationGroup="fgEm1" CssClass="btn btn-success" ID="btnConfirm1" />
</asp:Panel>
<asp:Panel runat="server">
<asp:TextBox runat="server" ID="txt2" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ValidationGroup="fgEm2" runat="server" ControlToValidate="txt2" ErrorMessage="Required" />
<asp:Button runat="server" Text="Confirm my email" ValidationGroup="fgEm2" CssClass="btn btn-success" ID="btnConfirm2" />
</asp:Panel>
</div>
当我点击第一个按钮时,我需要这很好。现在,当我单击第二个按钮时,我看到第二个文本框旁边是必需的,但第一个被隐藏了。我不要那个。我希望第一个保持原样。
有什么办法可以做到吗?
【问题讨论】:
-
首先,您有两个验证组。这意味着您已经告诉它的行为与它完全一样。最简单的方法是为 txt1 添加第二个必填字段验证器,但使用验证组 fgEm2。这样它会验证第一个按钮,然后第二个按钮将验证 txt2 和 txt1。
-
@Mark:您正在完全改变验证组的工作方式。我想要的其实很简单。由于它是两个验证组,因此另一个组应该独立于第一个组,因此如果我们在第一个组上有验证消息,它应该在单击第二组的按钮时保持原样。