Как отображать только одно сообщение для нескольких RequiredFieldValidators?

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

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

i want to as shown in following image..

мое мнение..

my view is.

Ответ 1

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

Ответ 2

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

Ответ 3

вы можете оставить поле сообщения об ошибке для каждого 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" /> 

Ответ 5

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

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

  • Измените все необходимые валидаторы на ErrorMessage = "*" Удалить текстовое значение
  • Удалить сводку проверки
  • Добавьте метку внизу, чтобы использовать ее в качестве сводки пользовательского валидатора. Стиль его красный
  • В разметке страницы script что-то вроде
if(!Page_IsValid) {    
    $('#myCustomValidatorSummary').text('Please fill in required fields')
}

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

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

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

Я бы просто сделал это - для каждого обязательного поля validator - set

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

Ответ 6

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

Ответ 7

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

Например:

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

...

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

Ответ 8

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

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

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

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

Ответ 9

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

Сохраняйте индивидуальные требуемые сообщения. Добавьте сводку проверки с 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"/>