2014-06-12 2 views
-3

Я пытаюсь заполнить все или ни одного набора полей. Другими словами, если все заполнено, все должно быть заполнено. Вот что я пробовал , Что мне не хватает, чтобы сделать эту работу?Пользовательский валидатор ASP.NET - все или никакие значения

ASP.NET разметки:

<asp:CustomValidator 
    id="CustomValidator" 
    ErrorMessage="All or none of the fields must be filled out" 
    ForeColor="Red" 
    OnServerValidate="CustomValidator_ServerValidate" 
    runat="server" /> 

C#:

protected void CustomValidator_ServerValidate(object source, ServerValidateEventArgs args) 
{ 
    if ((String.IsNullOrEmpty(field1.Text) && 
     String.IsNullOrEmpty(field2.Text) && 
     String.IsNullOrEmpty(field3.Text)) || 
     (!String.IsNullOrEmpty(field1.Text) && 
     !String.IsNullOrEmpty(field2.Text) && 
     !String.IsNullOrEmpty(field3.Text))) 
    { 
     args.IsValid = true; 
    } 
    else 
    { 
     args.IsValid = false; 
    } 
} 

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

+2

Это вопрос и ответ на сайте ... Я не смочь увидеть ваш вопрос – freefaller

ответ

0

На кнопке Submit, вы для проверки Page.IsValid

персонализированный валидатор не будет стрелять без этой проверки.

protected void btnSubmit_Click(args) { 
    if (Page.IsValid) { 
    //do something 
    } 
} 
+0

Нет, я не был, но я использовал CustomValidator.IsValid. Я попробую page.isvalid – samjk14

+0

Даже внутри if (Page.IsValid) {} ​​он позволяет мне отправить форму. – samjk14

+0

CustomValidator не собирается препятствовать отправке формы, но должен вызывать ошибки формы, которые вы можете отобразить в ValidationSummary или CustomValidator. Пока вы не продолжаете обрабатывать форму после проверки Page.IsValid. Имеет ли это смысл? –

Смежные вопросы