ASP.NET验证器对齐问题

时间:2010-05-11 13:59:37

标签: asp.net validation

我正在开发一个名为Email的输入字段的contactus网页。它通过必要的字段验证器和正则表达式验证器与适当的消息进行验证。

必填:输入电子邮件 正则表达式:无效的电子邮件

我将这两个设置如下:

<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),则输入电子邮件已关闭,但占用空格后,在“输入电子邮件”占用这些空格后会显示无效的电子邮件消息。

有没有办法删除这个空间??

马赫什

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:4)

使用Diplay = "Dynamic"

验证控件的显示行为。法律价值观是:

  • 无(控件未显示。用于仅显示错误消息 ValidationSummary control)
  • 静态(如果验证失败,控件会显示错误消息。空格是 即使输入通过验证,也会在页面上保留消息。
  • 动态(如果验证失败,控件会显示错误消息。空间不是 如果输入通过验证,则在页面上保留该消息

答案 2 :(得分:2)

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

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