1

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

在编辑之前,当我尝试提交表单时,如果我的文本框为空或 value = "" 它将显示错误消息并且不会重定向到另一个页面。

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

编辑前。

<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>

请帮忙!

4

2 回答 2

7

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

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

于 2013-08-07T18:01:59.277 回答
0

You may need to set the ValidationGroup property. If the control that causes validation has it set.

That was my problem.

于 2014-12-20T02:06:06.403 回答