Как отобразить только одно сообщение для нескольких RequiredFieldValidators? - PullRequest
10 голосов
/ 12 января 2012

как отобразить только одно сообщение для нескольких RequiredFieldValidator вместо отдельного сообщения для RequiredFieldValidator?

Я хочу, как показано на следующем рисунке ..

i want to as shown in following image..

моя точка зрения ..

my view is.

Ответы [ 9 ]

12 голосов
/ 12 января 2012

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

5 голосов
/ 14 декабря 2012

вы можете оставить поле сообщения об ошибке каждого RequiredFieldValidator пустым и поместить * в текстовое поле, затем добавить ValidationSummary, определяющий текст его заголовка с ошибкой msg, это будет работать для вашего сценария.

<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" /> 
5 голосов
/ 12 января 2012

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

3 голосов
/ 18 июня 2013

Этот джентльмен решил это здесь довольно просто:

2 голосов
/ 12 января 2012

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

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

  1. Изменить все необходимые валидаторы на ErrorMessage = "*" Удалить текстовое значение
  2. Удалить сводку проверки
  3. Добавить метку внизу для функциинастраиваемое резюме валидатора.Окрасьте его в красный цвет
  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.
1 голос
/ 12 февраля 2016

Быстрый и простой способ: добавьте CssClass в ValidationSummary, затем стиль css, который устанавливает для ul элементов этого класса отображение: нет.

Например:

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

...

<asp:ValidationSummary CssClass="validationSummary" ...
1 голос
/ 12 января 2012

В дополнение к ValidationSummary следует использовать элемент управления ValidationSummary из ASP.NET. Кроме того, можно использовать свойство Group для разделения элементов управления на логические группы.См. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.validationsummary.aspx для множества примеров.

0 голосов
/ 28 ноября 2016

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

Хранить отдельные обязательные сообщения. Добавьте итоги проверки с помощью 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"/>
0 голосов
/ 09 марта 2012

использовать ValidationSummary

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

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

http://asp -net-example.blogspot.in / 2008/10 / ValidationSummary-пример-как-к-use.html

...