2012-01-12 1 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 –

ответ

12

Вы должны будете использовать ValidationSummary управления для этого. См. Это ValidationSummary Class MSDN article для получения дополнительной информации и примера о том, как это сделать. В этой статье приведен пример того, что вы пытаетесь выяснить точно.

+0

спасибо, но я использовал ValidationSummary. но он показывает несколько сообщений для каждого валидатора. и я хочу отображать только одно сообщение для каждого валидатора. как я могу? – Rohan

+0

вам нужно будет скрыть каждое сообщение об ошибке, используя Display = "none" для каждого обязательного идентификатора – Maheep

+0

, но он скрывает весь валидатор. !! если управление пустым, этот валидатор не будет работать. – Rohan

5

установите HeaderText на что-то вроде «(*) Поля обязательны» в сводку проверки.

+0

. но также показывает сообщение RequiredFieldValidator. как я могу скрыть это? – Rohan

2

Я вижу, что вы пытаетесь сделать, но это трудно с ASP.Net валидаторов

Единственный путь я могу думать, чтобы сделать это удалить ValidationSummary вообще и вручную создать свой собственный, используя ASP.Net валидатор API и JQuery т.е.

  1. Изменить все необходимые валидаторы в ErrorMessage = "*" Удалить значение Текст
  2. Удалить Validation Резюме
  3. Добавить метку в нижней части, чтобы функционировать в качестве пользовательского validat или резюме. Стиль это красный
  4. В разметки страницы сценария что-то вроде
if(!Page_IsValid) {  
    $('#myCustomValidatorSummary').text('Please fill in required fields') 
}

Page_IsValid от валидатор API ASP.Net. Установите значение false, если страница не прошла проверку.

Конечно, это предполагает, что у вас есть только необходимые валидаторы полей в вашей форме. Если есть соединение, то вам нужно будет проверить, если один или более из требуемых них не удалось итерируя через Page_Validators на клиенте с помощью JQuery/JavaScript

Честно говоря, хотя я бы не стал это делать - это слишком сложно

я бы просто сделать это - для каждого требуемого поля валидатора - набор

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

использование ValidationSummary

контроль ValidationSummary используется для отображения резюме всех ошибок проверки произошел в Интернете стр.

Сообщение об ошибке, отображаемое в этом элементе управления, определяется свойством ErrorMessage каждого элемента управления проверкой. Если свойство ErrorMessage элемента управления проверки не установлено, для этого элемента проверки не отображается сообщение об ошибке.

http://asp-net-example.blogspot.in/2008/10/validationsummary-example-how-to-use.html

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

1

Быстрый и простой способ: добавить CssClass к ValidationSummary, то стиль CSS, который устанавливает уль элементы в рамках этого класса на дисплее: нет.

Например:

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

...

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

Чтобы добавить ответ Майка Година, лишь показывая одно сообщение оповещения для нескольких валидаторов полей:

Keep требуется индивидуальная Сообщения. Добавьте сводку проверки с помощью DisplayMode = «BulletList» и HeaderText = «Пожалуйста, предоставьте необходимую информацию выше».

Режим отображения «BulletList» производит неупорядоченный список LI внутри Сводка DIV Validation, затем скрыть 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"/> 
Смежные вопросы