2010-05-11 88 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文件將其設置爲主題中所有驗證器的默認值,因此您不必再擔心它。