0

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

正在显示的内容:

电子邮件[文本框] * 必填

应该显示什么:

电子邮件[文本框] *

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

4

4 回答 4

2

你应该使用ErrorMessage而不是Text

<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="email_Text" ErrorMessage="Required"></asp:RequiredFieldValidator>
于 2013-07-20T04:55:01.690 回答
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"/>

希望它会有所帮助。

于 2013-07-20T07:49:59.253 回答
1

如果要在保存按钮单击事件上进行验证,请为 RequiredFieldValidator 和保存按钮设置属性 ValidationGroup="Group1"。因此,当您单击保存按钮时,它将检查验证。

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

谢谢, 海特什

于 2013-07-20T06:14:52.283 回答
0

以这种方式设置RequiredFieldValidator。删除属性:'TextRequired' 并在开始和结束标记之间放一个 *。

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

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

于 2013-07-20T03:03:18.083 回答