RegularExpressionValidator不起作用

时间:2013-08-07 18:00:15

标签: asp.net regex validation

我在使用asp.net时总是新手,我有这个正常的表达式验证器,它之前工作得非常好,但在我对我的文本框进行了大量编辑之后它再也无法正常工作了。

在编辑之前,当我尝试提交表单时,如果我的文本框为空或值为“”,则会显示错误消息,会重定向到另一个页面。

在编辑之后,当我尝试提交表单时,无论文本框是否为空,它都会重定向到另一个页面。 不会停止重定向或显示验证程序页面

编辑前

<asp:TextBox ID="txttstImmLen" CssClass="forImmLenTb" runat="server" Width="118" Text="Enter Value Here" OnClick="this.value=''" onblur="tryPlaceholder(this,'Enter Value Here')" ></asp:TextBox>
<asp:RegularExpressionValidator ID="vldtstImmLen" ControlToValidate="txttstImmLen" Display="Dynamic" ErrorMessage="Immersion Length" Text="*" ValidationExpression="(0*[1-9]\d*)" Runat="server"/>

编辑后

<asp:TextBox ID="txttstImmLen" CssClass="forImmLenTb" runat="server" Width="118" onblur="tryPlaceholder(this);"></asp:TextBox>&nbsp;
<asp:RegularExpressionValidator ID="vldtstImmLen" ControlToValidate="txttstImmLen" Display="Dynamic" ErrorMessage="Immersion Length" Text="*" ValidationExpression="(0*[1-9]\d*)" runat="server"/>&nbsp;</td>

请帮忙!

2 个答案:

答案 0 :(得分:5)

RegularExpressionValidator不检查空值。您还需要使用RequiredFieldValidator

根据@ KarlAnderson的评论澄清:您在编辑之前有占位符文本导致RegularExpressionValidator检查该值。

答案 1 :(得分:-1)

您可能需要设置ValidationGroup属性。如果导致验证的控件已设置。

这是我的问题。