我在使用此代码中的<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网站上的示例,不需要父元素。事实上,他们的示例设置方式正是我期待的。
答案 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属性,因为这将再次不符合您的要求。