如何使RequiredFieldValidator消失,然后出现

本文关键字:然后 消失 何使 RequiredFieldValidator | 更新日期: 2023-09-27 18:02:12

我希望必需的字段验证器只在出现错误时才可见,而不是一直可见。我怎样才能做到呢?

<asp:RequiredFieldValidator
    runat="server"
    ControlToValidate="Editor1"
    ErrorMessage="fffffff"
    ForeColor="#CC0000"
    Display="Dynamic" />

一旦我运行页面,错误信息就会出现,我希望它在出现错误时出现,当字段为空时!!

如何使RequiredFieldValidator消失,然后出现

当前页面问题的唯一原因是,在页面加载事件中,某处Page.Validate()被调用,您需要检查。

我已经在我的末尾测试了这个示例,并且验证器在页面加载时没有触发给我。

您可以在另一个新页面中尝试吗?

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator1"
runat="server"
ControlToValidate="TextBox1"
ErrorMessage="fffffff"
ForeColor="#CC0000"
Display="Dynamic" />
    <asp:Button ID="Button1" runat="server" Text="Button" />

如果你检查上面提到的例子,它不会在页面加载时触发Validator,但是你可以添加这段代码,你会发现,在页面加载时触发Validator .

protected void Page_Load(object sender, EventArgs e)
{
    Page.Validate();
}

请注意,我已经在新页面上测试了这两种场景,只要尝试一下,你就会理解问题。

如果你考虑一下,在页面加载时字段是空的…因此是一个误差。为requiredfieldvalidator指定InitialValue=""的属性,这样就可以得到您想要的结果。

设置必填字段验证器的显示属性为Dynamic