2012-01-12 47 views
10

如何僅顯示單個消息多個RequiredFieldValidator而不是單個消息RequiredFieldValidator如何僅顯示多個RequiredFieldValidators的單個消息?

我想如以下的圖像..

i want to as shown in following image..

我的看法是..

 my view is.

+0

我一直在尋找一個解決方案自己。發現這個鏈接是最有用的:http://www.codeproject.com/Tips/72380/ValidationSummary-showing-header-text-HeaderText-o – 2013-04-23 07:16:41

回答

12

你將不得不使用ValidationSummary控制這一點。有關詳細信息和示例,請參見此ValidationSummary Class MSDN article。這篇文章包含了一個你想要弄清楚的例子。

+0

謝謝,但我已經使用ValidationSummary。但是它會爲每個驗證器顯示多條消息。我想爲每個驗證器只顯示單個消息。我怎麼能夠? – Rohan 2012-01-12 12:19:35

+0

你將不得不隱藏每個錯誤消息使用Display =「none」爲每個requiredfieldvalidator – Maheep 2012-01-12 12:24:14

+0

,但它隱藏了整個驗證程序。如果控件是空白的,那麼這個驗證器將不起作用 – Rohan 2012-01-12 12:49:13

5

將HeaderText設置爲「驗證摘要」中的「(*)字段是必需的」。

+0

謝謝。但它也顯示RequiredFieldValidator的消息。我怎麼能隱藏它? – Rohan 2012-01-12 12:54:23

2

我可以看到你正在嘗試做的,但它是很難與ASP.Net驗證器

我能想到這樣做是完全消除的ValidationSummary和手動使用ASP.Net創建自己的唯一途徑驗證API和JQuery即

  1. 變化都需要驗證,以ErrorMessage = "*"刪除文本值
  2. 刪除驗證摘要
  3. 在底部添加一個標籤用作自定義validat或摘要。風格是紅色
  4. 在頁面標記腳本像
if(!Page_IsValid) {  
    $('#myCustomValidatorSummary').text('Please fill in required fields') 
}

Page_IsValid從ASP.Net驗證API。如果頁面驗證失敗,則設置爲false。

當然這假定你只有你的表單上必需的字段驗證器。如果有一個組合,那麼你將需要檢查的一個或多個所需的項目已經通過了Page_Validators使用JQuery/JavaScript的客戶端上的迭代

老實說,雖然我不會做失敗了 - 它太硬

我只想做到這一點 - 對於每一個需要的字段校驗 - 設置

Text="*" 
ErrorMessage="[Field Name] is mandatory. Please supply a value." or similar. 
5

您可以將每個RequiredFieldValidator的空白,並把*的文本字段的錯誤信息字段,然後添加的ValidationSummary定義與錯誤味精的標題文字這將適用於您的方案。

<asp:RequiredFieldValidator ID="RequiredFieldValidator_overhead_name" runat="server" ControlToValidate="TextBox_overhead_name">*</asp:RequiredFieldValidator> 


<asp:ValidationSummary ID="ValidationSummary_overhead_estimate" runat="server" DisplayMode="SingleParagraph" HeaderText="please insert data into fileds" /> 
+1

這真的很棘手..感謝分享 – Waqas 2015-10-01 06:46:11

1

快速簡便的方法:添加的CssClass到的ValidationSummary,然後,設置該類下的UI元素,以顯示CSS樣式:無。

例如:

<style> 
.validationSummary ul {display:none} 
<stlye> 

...

<asp:ValidationSummary CssClass="validationSummary" ... 
0

爲了增加邁克·戈丁的回答,只顯示了多個字段驗證一個警報消息:

保持所需的個人消息。使用DisplayMode =「BulletList」和HeaderText添加驗證摘要=「請提供以上所需的信息。」

的「BulletList」顯示模式產生LI的驗證摘要DIV內部的無序列表,然後通過造型隱藏UL - 只有「的HeaderText」會顯示:

#validationSummary ul { 
     display:none; 
    } 

<asp:ValidationSummary 
    id="validationSummary" 
    DisplayMode="BulletList" 
    EnableClientScript="true" 
    HeaderText="Please provide the required information above." 
    ValidationGroup="btnSubmit" 
    runat="server"/>