Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 必需和正则表达式验证器占用空间_Asp.net - Fatal编程技术网

Asp.net 必需和正则表达式验证器占用空间

Asp.net 必需和正则表达式验证器占用空间,asp.net,Asp.net,asp.net的字段验证程序占用了我的页面空间,我遇到了一些问题。我四处搜索过,文档中说要使用Display=“Dynamic”来防止验证器占用空间。但是,当我使用此选项时,始终会显示错误消息 我做错了什么 我只想在用户单击“保存”按钮或在文本框上失去焦点时显示错误消息。我不希望验证器占用空间 <p>Please enter a new email:</p> <asp:TextBox runat="server" MaxLength="255"

asp.net的字段验证程序占用了我的页面空间,我遇到了一些问题。我四处搜索过,文档中说要使用Display=“Dynamic”来防止验证器占用空间。但是,当我使用此选项时,始终会显示错误消息

我做错了什么

我只想在用户单击“保存”按钮或在文本框上失去焦点时显示错误消息。我不希望验证器占用空间

     <p>Please enter a new email:</p> 
     <asp:TextBox runat="server" MaxLength="255" ID="TextBoxEmail" />

     <asp:RequiredFieldValidator ID="RequiredFieldValidator1"  
          ValidationGgroup="Email" 
          ErrorMessage="Please enter an email" 
          ControlToValidate="TextBoxEmail" runat="server"></asp:RequiredFieldValidator>

     <asp:RegularExpressionValidator ID="RegularExpressionValidator2" 
         ValidationGroup="Email"
          ControlToValidate="TextBoxEmail"                    
          ErrorMessage="Please enter valid email"
          runat="server"      
          ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" />


      <p>Please re-enter your email:</p> 
      <asp:TextBox runat="server" ID="TextBoxEmail2" />


      <asp:LinkButton ValidationGroup="Email" runat="server" Text="Save"  OnClick="linkbuttonSave_Click"  />
请输入新电子邮件:

请重新输入您的电子邮件:


我在您的代码中注意到的唯一一件事是您在
ValidationGgroup=“Email”
中有一个打字错误。它应该是
ValidationGroup=“Email”

除此之外,
Display=“Dynamic”
对我很有用

单击后,提交按钮-

<p>
    Please enter a new email:</p>
<asp:TextBox runat="server" MaxLength="255" ID="TextBoxEmail" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ValidationGroup="Email"
    ErrorMessage="Please enter an email" ControlToValidate="TextBoxEmail" runat="server"
    Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" ValidationGroup="Email"
    ControlToValidate="TextBoxEmail" ErrorMessage="Please enter valid email" runat="server"
    ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic" />
<p>
    Please re-enter your email:</p>
<asp:TextBox runat="server" ID="TextBoxEmail2" />
<asp:CompareValidator ID="PasswordCompare" runat="server" ControlToCompare="TextBoxEmail"
    ControlToValidate="TextBoxEmail2" CssClass="failureNotification" Display="Dynamic"
    ErrorMessage="Must match." ValidationGroup="Email"></asp:CompareValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" ValidationGroup="Email"
    ErrorMessage="Please enter an confirm email" ControlToValidate="TextBoxEmail2" runat="server"
    Display="Dynamic"></asp:RequiredFieldValidator>
<asp:LinkButton ID="LinkButton1" ValidationGroup="Email" runat="server" Text="Save"
    OnClick="linkbuttonSave_Click" />


请输入新电子邮件:

请重新输入您的电子邮件:


我通过删除“ValidationGroup=…”使它工作得很好。我还没有查看它的功能,但是如果没有它,它工作得很好,并且不确定为什么需要它(假设验证器控件具有电子邮件文本框的控件id)

您可以将属性显示设置为“动态”或“无”,第二个错误将导致错误消息仅显示在验证摘要中。

始终显示错误消息,这是什么意思?在两个验证器上使用
display=“dynamic”
对您都不起作用?@Sachin,当我将display=“dynamic”设置为两个验证器时,错误消息总是可见的。感谢您指出这个输入错误!我想我知道问题出在哪里了。我已经给了我的验证器一个带有display:block的CssClass。我想即使在验证程序控件中有display=“dynamic”,它也总是会显示css。