2010-05-11 28 views
4

我正在开发contactus网页,其中有一个名为Email的输入字段。它针对必要的字段验证程序和正则表达式验证程序进行了验证,并带有适当的消息。ASP.NET验证器对齐问题

要求:输入电子邮件 正则表达式:无效的电子邮件

我设置这两个,如下所示:

<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox> 
            <font color="#FF0000">*</font> 
            <asp:RequiredFieldValidator ID="rfvemail" CssClass="error_text" ControlToValidate="txtEmail" 
             runat="server" ErrorMessage="Enter email address."></asp:RequiredFieldValidator> 
             <asp:RegularExpressionValidator ID="revemail" runat="server" ControlToValidate="txtEmail" 
              ErrorMessage="Invalid Email" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator> 

我的问题是这两个输入电子邮件地址和电子邮件地址无效占据自己的空间。例如:如果我将电子邮件留作空白空间并按提交,则输入电子邮件将显示在其旁边。如果我输入了无效的电子邮件(xxx),则输入电子邮件已关闭,但在占用空间之前,“输入电子邮件”占用的这些空间之前会显示无效的电子邮件消息。

有什么办法去除这个空间?

Mahesh

回答

3

使用Diplay = "Dynamic"

验证控件的显示行为。合法值是:(不显示控制用于显示仅在 ValidationSummary控件的错误消息。)

  • 无如果验证失败
  • 静态(控制显示错误消息空间是 。为即使输入通过验证该消息的网页上的预留。
  • 动态(控制显示错误消息,如果验证失败。如果输入通过验证
空间是不 在页面上的消息保留
2

如果我理解正确的问题,我认为答案是将Display属性设置为Dynamic

如果您使用的是ASP.NET主题,则可以使用Skin文件将其设置为主题中所有验证器的默认值,因此您不必再担心它。