ASP.NET:Required Field Validator无法正常工作

时间:2012-03-19 13:34:47

标签: asp.net validation

我有一个奇怪的问题,我不明白为什么会这样。

我创建了一个内容页面,以便用户可以向我发送一条消息给我的电子邮件,并制作一些与某些验证器相关联的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" />

3 个答案:

答案 0 :(得分:5)

您不应使用HTML comments注释掉服务器端控件,<%-- --%>

<%-- 
<asp:RegularExpressionValidator ID="NameExpressionValidator1" runat="server" ControlToValidate="nameTextBox"
ValidationExpression="[אבגדהוזחטיכלמנסעפצקרשתץףןם\s\.]*" Display="Dynamic">  </asp:RegularExpressionValidator>
--%>  

http://msdn.microsoft.com/en-us/library/4acf8afk.aspx

答案 1 :(得分:2)

文本框中是否有特定用途 AutoPostBack =“True”?如果没有,那么只需将其从所有文本框中删除,您还需要为验证器控件提供 ValidationGroup =“g”,不需要在文本框控件中提供它。

答案 2 :(得分:0)

首先,确保验证摘要的验证组匹配? 如果这是正确的尝试使用验证方法:

 protected void Page_Load(object sender, EventArgs e)
{
    Validate();
}