0

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

但是,一些 CustomValidator 控件具有空白的 Text 属性。我故意将它们留空,因为我根据哪种情况失败动态添加 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;

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

4

1 回答 1

9

只需设置display="none"而不是"dynamic"在 BaseValidator 上,这应该可以解决它。

于 2009-01-08T20:09:53.257 回答