Краткий обзор проверки ASP.NET - PullRequest
13 голосов
/ 30 января 2009

Есть ли способ получить элемент управления сводки проверки ASP.NET, чтобы просто отображать HeaderText при возникновении ошибки проверки?

По сути, я хочу, чтобы рядом с кнопкой отправки появилось простое сообщение типа «Пожалуйста, заполните все поля, отмеченные *». Поскольку я использую «*» для сообщения об ошибке на валидаторах, я не хочу, чтобы они появлялись в сводке.

Спасибо за любую помощь.

Ответы [ 3 ]

18 голосов
/ 30 января 2009

Установите каждый валидатор Текст в "*" и ErrorMessage в пустую строку.

<form id="form2" runat="server">
Name:<br />
<asp:TextBox ID="NameTextBox" runat="server" />
<asp:RequiredFieldValidator 
    ID="NameTextBoxRequiredValidator" 
    ControlToValidate="NameTextBox"
    ErrorMessage="" 
    Text="*" 
    runat="server" />
<br />
City:<br />
<asp:TextBox ID="CityTextBox" runat="server" />
<asp:RequiredFieldValidator 
    ID="CityTextBoxRequiredValidator" 
    ControlToValidate="CityTextBox"
    ErrorMessage="" 
    Text="*" 
    runat="server" />
<br />
<asp:Button ID="SubmitButton" Text="Submit" runat="server" />
<hr />
<asp:ValidationSummary 
    ID="valSum" 
    DisplayMode="SingleParagraph" 
    HeaderText="Please complete all fields marked *"
    runat="server" />
</form>
2 голосов
/ 30 января 2009

Если вы просто используете свойство Text элементов управления валидатора и оставляете свойство ErrorMessage пустым, это должно решить вашу проблему.

0 голосов
/ 30 января 2009

Вы можете использовать CustomValidator и установить свойство ClientValidationFunction для выполнения функции JavaScript, которая будет заполнять метку для отображения вашего сообщения.

ASPX:

 <asp:CustomValidator ID="validator" runat="server" ErrorMessage="*" ClientValidationFunction="Validate" ControlToValidate="controltovalidate" ValidateEmptyText="true"></asp:CustomValidator>

JavaScript:

function Validate(sender,args)
{
    args.IsValid = true;
    if(args.Value == "")
    {
        document.getElementById('YourCustomMessageLabel').innerText = "Please complete all fields marked *"
        args.IsValid = false;    
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...