RequiredFieldValidator Control在Page_Load上显示错误文本

时间:2013-07-19 19:55:27

标签: asp.net requiredfieldvalidator

我在使用此代码中的<asp:RequiredFieldValidator>时遇到问题。

<asp:Label ID="email_Label" runat="server" Text="Email"></asp:Label>
<asp:TextBox ID="email_Text" runat="server" MaxLength="40" Width="250"></asp:TextBox> *
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="email_Text" Text="Required"></asp:RequiredFieldValidator>

根据W3schools文档here我正确使用了<asp:RequiredFieldValidator>,但是不显示标签和文本框,页面也会显示错误消息。这发生在page_load上,因此该值还没有机会从默认值更改。我希望在用户单击我正在构建的表单底部的“保存”按钮后显示错误文本。

正在显示的是什么:

电子邮件[ TextBox ] *必填

应该显示什么:

电子邮件[ TextBox ] *

我错过了验证器或其他东西的父元素。根据w3schools网站上的示例,不需要父元素。事实上,他们的示例设置方式正是我期待的。

4 个答案:

答案 0 :(得分:2)

您应该使用ErrorMessage代替Text

<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="email_Text" ErrorMessage="Required"></asp:RequiredFieldValidator>

答案 1 :(得分:2)

如果要在按钮单击上显示错误消息,请使用Validation Group。像这样。

<asp:RequiredFieldValidator ID="rqtxtQName" ValidationGroup="save" ControlToValidate="txtQueueName" runat="server" ErrorMessage="Some required field are missing." SetFocusOnError="True"Display="Dynamic"></asp:RequiredFieldValidator>

并在Button上使用验证组。

  <asp:Button ID="btnSubmit" runat="server" Text="Submit" ValidationGroup="save" OnClick="btnSubmit_Click"/>

希望它会有所帮助。

答案 2 :(得分:1)

如果要验证保存按钮单击事件,请设置属性ValidationGroup =“Group1” 对于RequiredFieldValidator以及保存按钮。因此,当您单击“保存”按钮时,它将检查验证。

对于显示消息,您可以使用ErrorMessage属性。

谢谢, 亚太区首席技术官Matt

答案 3 :(得分:0)

以这种方式设置RequiredFieldValidator。删除属性:'TextRequired'&amp;在开始和结束标签之间加上一个*。

    <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
 ControlToValidate="email_Text">*</asp:RequiredFieldValidator>

此外,请勿设置ErrorMessage属性,因为这将再次不符合您的要求。