【发布时间】:2026-02-14 00:05:01
【问题描述】:
.NET ValidationSummary 控件聚合来自在回发时触发的验证器的错误消息。有没有办法让它也显示来自客户端验证器的错误消息?
我正在处理的问题是,在长页面上,可以单击提交按钮,使某些客户端验证器失败,但从未看到错误消息。我想在按钮附近有一个验证摘要,这样用户就永远不会没有反馈。
我希望任何具有客户端验证的标准 .NET 验证器都反映在验证摘要中,但我最关心的是让 RequiredFieldValidators 工作。
我可以破解它,以便在单击按钮时会在短暂延迟后自动显示一条一般消息,告诉用户检查页面上的错误。这适用于没有发生回发的情况,但会很丑。
以下是一些不适合我的示例代码:
<asp:LinkButton ID="btnOpen" runat="server" ToolTip="Open" ValidationGroup="Create" CausesValidation="true" />
<asp:TextBox ID="txtBlah" runat="server" />
<asp:RequiredFieldValidator ID="reqBlah" runat="server" ControlToValidate="txtBlah" EnableClientScript="true" Display="Dynamic" ErrorMessage="Enter some blah" ValidationGroup="Create" />
<asp:ValidationSummary ID="summary" runat="server" EnableClientScript="true" DisplayMode="BulletList" HeaderText="Errors:" ShowMessageBox="true" ShowSummary="true" ValidationGroup="Create" />
验证器在没有回发的情况下显示错误,但摘要没有。
正如 cmets 中所建议的,页面上可能还有其他内容阻止了我的示例代码工作。我现在无法尝试重现确切的原因,虽然页面很重并且那里有一些 UpdatePanel,所以我会坚持我的 hack,直到有更多时间来处理它。
感谢您的帮助。我建议人们不要再处理这个问题,因为我认为我没有提供足够的信息来真正帮助任何人解决问题。
【问题讨论】:
-
你能发布一个你的代码示例吗?使RequiredFieldValidator 与验证摘要一起工作时,我从来没有遇到过任何问题。
-
尝试不使用 ValidationGroup 值。那里可能有一些混淆,因为没有在 TextBox 控件上指定组。
-
它可能是没有在 TextBox 本身上设置的 ValidationGroup。这应该不是问题,但如果是这样,我不会感到惊讶。我会尽量找时间研究一下。
标签: c# .net asp.net validation