我希望必要的字段验证器只在出现错误时才可见。不是所有的时间..我怎么能这样做?
<asp:RequiredFieldValidator
runat="server"
ControlToValidate="Editor1"
ErrorMessage="fffffff"
ForeColor="#CC0000"
Display="Dynamic" />
我运行页面后会立即显示错误消息。我希望每当出现错误时都会显示错误消息。当字段为空时!!
答案 0 :(得分:1)
当前页面中出现问题的唯一原因是,在页面加载事件中,某个地方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" />
如果你检查上面提到的例子,它不会在页面加载时触发验证器,但你可以添加这个代码,你会发现,验证器是在页面加载时触发的。
protected void Page_Load(object sender, EventArgs e)
{
Page.Validate();
}
请注意,我已在新页面上测试了这两种方案,只需尝试一下即可了解问题。
答案 1 :(得分:0)
如果您考虑一下,在页面加载时该字段为空......因此出错。为requiredfieldvalidator提供InitialValue=""
的属性,这应该可以为您提供所需的内容。
答案 2 :(得分:0)
将所需字段验证器的显示属性设置为动态