2012-04-16 48 views
0

嗨我有一個非常常見的問題,但無法找到任何答案 我有一個div,並有驗證控件。我在ErrorMessage文本中使用了br標籤來顯示每行消息。我的代碼如下 當需要字段validator visiblity = false時如何去除div中的換行符(asp.net)

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" CssClass="lblMessageError" 
     runat="server" ErrorMessage="<br> User name field cannot be empty" ControlToValidate="txtUserName" SetFocusOnError="True"></asp:RequiredFieldValidator> 
    <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="ClientValidate" ControlToValidate="txtPassword" CssClass="lblMessageError" ErrorMessage="<br />The password must be more than 6 characters."></asp:CustomValidator> 
    <asp:CompareValidator ID="CompareValidator1" runat="server" CssClass="lblMessageError" ControlToCompare="txtPassword" controlToValidate="txtRePassword" ErrorMessage="<br /> Password dont match with repassword"></asp:CompareValidator> 
</div> 

時,有沒有發現錯誤則顯示換行符。所有我想要的是當沒有錯誤時發現換行符被省略。

1)當所有的驗證器被隱藏

'<% - 換行符,因爲沒有發現錯誤 - %>
' <% - 換行符,因爲沒有發現錯誤 - %>
'<% - 線Breakbecause沒有發現誤差---%>

2)當一個驗證器是可見的和其他和隱藏

用戶名字段不能爲空
'<% - 換行,因爲沒有發現錯誤 - %>
' <% - 線Breakbecause沒有發現錯誤---%>
'<% - 在這裏我的盟友控制 - %>

,我也不用想展示我在同一條線上 任何建議,所有的錯誤?

+1

你可以使用[ValidatorCalloutExtenders(http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ValidatorCallout/ValidatorCallout.aspx),它正在尋找爲你的方法或[的ValidationSummary(http://msdn.microsoft.com/en-us/library/dd5c6s6h%28v=vs.100%29.aspx)要好得多。 – 2012-04-16 07:22:30

回答

2

Display="Dynamic"屬性添加到您的驗證,如:

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" CssClass="lblMessageError" 
    runat="server" Display="Dynamic" ErrorMessage="<br> User name field cannot be empty" ControlToValidate="txtUserName" SetFocusOnError="True"></asp:RequiredFieldValidator> 
+0

除了'顯示=「動態」',我不得不還包括'風格=「空白:NOWRAP;」'中的父元素。 – Homer 2013-10-22 15:10:49

相關問題