【问题标题】:How to not show BaseValidator.Text when using a ValidationSummary in ASP.NET在 ASP.NET 中使用 ValidationSummary 时如何不显示 BaseValidator.Text
【发布时间】:2009-01-08 19:56:27
【问题描述】:

我在 Web 表单上使用了一堆不同的 asp.net 验证控件。其中一些将其 Text 属性设置为“*错误”或“您错过了这些字段”之类的内容。

但是,一些 CustomValidator 控件具有空白文本属性。我故意将它们留空,因为我根据哪种情况失败动态添加 ErrorMessage。 (CustomValidator 可能有许多不同的条件,我设置 args.IsValid = false)

发生错误时,我设置的 ErrorMessage 属性会同时显示在 ValidationSummary 和 Validator 控件中。我不想要那个。我希望能够只在 ValidationSummary 中而不是在 BaseValidator.Text 属性中显示 ErrorMessage。

我的第一次尝试是将 Text 属性设置为空格“”。那没用。

我(目前)实现的是一个与背景颜色相同的句点。这是一个黑客 - 我不喜欢它。哎呀,也许这就是我在这里的原因!

代码如下:

<asp:CustomValidator ID="StackOverflowValidator" runat="server" 
    Text="." 
    CssClass="validatorstyle"
    Display="Dynamic" 
    OnServerValidate="validate_AllowedToDoSomething" 
    ValidationGroup="MainGroup" />

<asp:ValidationSummary ID="mainGroupValidationSummary" runat="server" 
    ValidationGroup="MainGroup" 
    DisplayMode="BulletList" 
    HeaderText="There was an error in saving.  Please check the following:" />

在我调用的 validate_AllowedToDoSomething 中:

StackOverflowValidator.ErrorMessage = "Custom Error Message #1";
args.IsValid = false;
return;

我得到的是网络表单上的“自定义错误消息 #1”两次。提前致谢!

【问题讨论】:

    标签: c# asp.net vb.net validation customvalidator


    【解决方案1】:

    只需在 BaseValidator 上设置 display="none" 而不是 "dynamic",就可以解决问题。

    【讨论】:

    • 成功了!我也尝试将其设置为不可见,但这会导致验证根本无法运行。我猜想 Display 属性上的 None 选项就是为了这个原因。再次感谢。
    猜你喜欢
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多