Asp.net 为什么我的RegularExpressionValidator允许不输入任何文本?

Asp.net 为什么我的RegularExpressionValidator允许不输入任何文本?,asp.net,regex,Asp.net,Regex,为什么此代码允许用户不输入任何文本?AFAIK+表示一个或多个 <asp:TextBox ID="myTextBox" runat="server" MaxLength="9" /> <asp:RegularExpressionValidator runat="server" ControlToValidate="myTextBox" ValidationExpression="\d+" ErrorMessage="Error!" /> 我想用户只

为什么此代码允许用户不输入任何文本?AFAIK
+
表示
一个或多个

<asp:TextBox ID="myTextBox" runat="server" MaxLength="9" />
<asp:RegularExpressionValidator runat="server"
   ControlToValidate="myTextBox"
   ValidationExpression="\d+"
   ErrorMessage="Error!" />


我想用户只能输入9位数字。这个字段是必填的。如何才能做到这一点?

大多数asp.net验证程序在没有文本时不会启动。这基本上需要额外的
RequiredFieldValidator
,您应该添加:

<asp:RequiredFieldValidator id="RequiredFieldValidator1"
                ControlToValidate="myTextBox"
                Display="Static"
                ErrorMessage="Required field"
                runat="server"/> 

大多数asp.net验证程序在没有文本时不会启动。这基本上需要额外的
RequiredFieldValidator
,您应该添加:

<asp:RequiredFieldValidator id="RequiredFieldValidator1"
                ControlToValidate="myTextBox"
                Display="Static"
                ErrorMessage="Required field"
                runat="server"/> 

只有在默认情况下输入文本时,正则表达式验证器才会工作。我建议使用一个单独的RequiredFieldValidator,这样您就可以得到一条更有用的错误消息


现在您的ValidationExpression应该是
\d{9}

正则表达式验证器仅在默认情况下输入文本时工作。我建议使用一个单独的RequiredFieldValidator,这样您就可以得到一条更有用的错误消息


现在您的ValidationExpression应该是
\d{9}

您可以发布页面中的其余代码吗,这一点看起来不错,但问题可能存在于您使用的表单中,您的表单声明中是否有runat=“server”

尝试添加以下内容:

<asp:RequiredFieldValidator ID="rfv" Display="None" runat="server" ControlToValidate="myTextBox" ErrorMessage="name is required!"></asp:RequiredFieldValidator>

您能否发布页面中的其余代码,这一点看起来不错,但问题可能在于您使用的表单中,您的表单声明中是否有runat=“server”

尝试添加以下内容:

<asp:RequiredFieldValidator ID="rfv" Display="None" runat="server" ControlToValidate="myTextBox" ErrorMessage="name is required!"></asp:RequiredFieldValidator>

来自:

注意:如果 输入控件为空。如果值为 关联输入所需 控件,请使用RequiredFieldValidator 除了 RegularExpressionValidator控件

发件人:

注意:如果 输入控件为空。如果值为 关联输入所需 控件,请使用RequiredFieldValidator 除了 RegularExpressionValidator控件


你为什么不推荐使用那个酒店呢?叫什么名字?胡说是我的错。我错了。我将编辑我的回复。如果它存在,我仍然不推荐它,因为错误消息不太有用。我的经验中的错误如果非常明确和具体,效果会更好。为什么不建议使用该属性?叫什么名字?胡说是我的错。我错了。我将编辑我的回复。如果它存在,我仍然不推荐它,因为错误消息不太有用。我的经验中的错误如果非常清楚和具体,效果会更好。