RegularExpressionValidator不起作用

Jae*_*ger 1 regex asp.net 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"/>
Run Code Online (Sandbox Code Playgroud)

编辑后

<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>
Run Code Online (Sandbox Code Playgroud)

请帮忙!

Jas*_*n P 5

RegularExpressionValidators不检查空值.你还需要使用一个RequiredFieldValidator.

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

  • 它在编辑之前工作的原因是因为你有一个初始的`Text`值`Enter Value Here`,因此正则表达式有一些东西需要处理并尝试匹配. (2认同)