我有一个奇怪的问题,我不明白为什么会这样。
我创建了一个内容页面,以便用户可以向我发送一条消息给我的电子邮件,并制作一些与某些验证器相关联的TextBox。
当我第一次创建页面时,我找到1个正则表达式验证器,并且每个事情都很好,就像我计划它一样,但后来我决定删除正则表达式验证器,现在我遇到了必需字段验证器的问题。
当我按提交页面时,回复一下,就像页面上没有任何验证器一样。
我很确定我错过了一些东西(我在asp.net上很新) 这是标记:
<!-- Regular Expression Validtor for the Name Text Box
<asp:RegularExpressionValidator ID="NameExpressionValidator1" runat="server" ControlToValidate="nameTextBox"
ValidationExpression="[אבגדהוזחטיכלמנסעפצקרשתץףןם\s\.]*" Display="Dynamic"> </asp:RegularExpressionValidator> -->
<!--The Name Text Box -->
<asp:TextBox ID="nameTextBox" class="TextBoxes" runat="server"
AutoPostBack="True" ValidationGroup="g" ></asp:TextBox> <span class="infoText">:שם</span>
<!-- Required Field Validator for the Name Text Box -->
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="nameTextBox"
Display="Dynamic" ValidationGroup="g" ErrorMessage="please enter your name"></asp:RequiredFieldValidator>
<br />
<br />
<!-- Phone Text Box -->
<asp:TextBox ID="phoneTestBox" class="TextBoxes" runat="server"
AutoPostBack="True" ValidationGroup="g" ></asp:TextBox> <span class="infoText">:טלפון</span>
<!-- Requierd Field Validator Phone Text Box -->
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="phoneTestBox"
Display="Dynamic" ValidationGroup="g" ErrorMessage="please enter your phone"></asp:RequiredFieldValidator>
<br />
<br />
<asp:TextBox ID="messagTextBox" runat="server" class="TextBoxes" TextMode="MultiLine"
Text="asdasdadasdasdasd"></asp:TextBox> <span class="infoText">:הודעה</span>
<asp:Button ID="button" runat="server" Text="send message" ValidationGroup="g" />
答案 0 :(得分:5)
您不应使用HTML comments注释掉服务器端控件,<%-- --%>
:
<%--
<asp:RegularExpressionValidator ID="NameExpressionValidator1" runat="server" ControlToValidate="nameTextBox"
ValidationExpression="[אבגדהוזחטיכלמנסעפצקרשתץףןם\s\.]*" Display="Dynamic"> </asp:RegularExpressionValidator>
--%>
答案 1 :(得分:2)
文本框中是否有特定用途 AutoPostBack =“True”?如果没有,那么只需将其从所有文本框中删除,您还需要为验证器控件提供 ValidationGroup =“g”,不需要在文本框控件中提供它。
答案 2 :(得分:0)
首先,确保验证摘要的验证组匹配? 如果这是正确的尝试使用验证方法:
protected void Page_Load(object sender, EventArgs e)
{
Validate();
}