2012-08-12 26 views
0

我有一個驗證器,其關聯的錯誤文本設置如下。驗證器文本contaiing divs - 當驗證器正常時阻止顯示

<asp:RequiredFieldValidator ID="RequiredFieldValidator2" ValidationGroup="1" ControlToValidate="EmailTB" 
                Text="<div class='error-left'></div><div class='error-inner'>required</div>" 
                Display="Static" Width="100%" runat="server" SetFocusOnError="true" /> 

我把這個驗證器放在tr的第三個td上。前兩個td是該字段的名稱和一個文本框。問題是,即使錯誤文本沒有顯示,它也會通過寬度和高度來拼接以整個表格佈局。我明白,ASP> NET使用javascript來顯示錯誤文本時可見的文本,但我不喜歡佈局被不應激活的標籤高度扭曲的事實。看照片中的波紋管:

觀察: - 這是在表單中唯一的驗證,這就是爲什麼電子郵件中的TR是如此之高(爲錯誤左類具有這樣的高度)

回答

2

更改Display property to Dynamic - 將其樣式設置爲"display: none;",直到它被觸發。

+0

這仍然包含不必要的代碼。 – reisio 2012-08-12 20:35:48

+0

需要代碼(HTML標記)來支持JavaScript驗證;所以它實際上並不是不必要的(除非你計劃按需加載) – 2015-07-31 03:13:13

0

即使沒有錯誤,也不要包含代碼,只有在出現錯誤時才包含代碼。

+0

我該怎麼做? – Ryan 2012-08-13 06:18:16

+0

瞭解有關ASP條件的更多信息。 – reisio 2012-08-13 20:59:15