2013-03-20 2 views
0

у меня есть несколько валидаторов на моей форме, с 2-х различных ValidationGroupsPage.isValid проверяет всю страницу, а не только выбранную группу проверки

перед отправкой формы, мне нужно только для проверки ValidationGroup="main" управления действительными я попытался следующие:

Page.Validate("main"); 
if (Page.IsValid) 
//do something 

он постоянно возвращался false и я собирался Crazzzy.

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

Как я могу убедиться, что он проверяет только «основную» группу?

это мой полный код представить:. (? Может быть, я проверка неудачной проверки подлинности неправильно), но так или иначе я продолжаю получать ложные для page.isvalid :(

Page.Validate("main"); 
      if ((Page.IsValid) && (user.userRole.Contains("9"))) 
       btnSubmit.Visible = true; 
      else 
      { 
       foreach (BaseValidator valControl in Page.Validators) 
       { 
        WebControl assControl = Page.FindControl(valControl.ControlToValidate) as WebControl; 
        if (valControl.IsValid) 
        { 
         //do something. 

        } 
        else 
        { 
         //do something. 
         lblMessage.Text = valControl.ToString(); 
        } 

       } 
       btnSubmit.Visible = false; 
      } 

ответ

0

Пожалуйста, прочитайте this Он утверждает, что

метод Validate проверяет указанную группу проверки. После вызова метода Validate на группу проверки, то IsValid метод возвращает истину только если обе указанной проверки группы и Группа проверки элемента управления, которая вызвала отправку страницы на , действительна.

+0

У меня этот код в моем методе page_load. Я не уверен, что «он контролирует то, что страница была опубликована на сервере». означает: -/ –

+0

@MadamZuZu, чей контроль поднял соответствующее событие на стороне сервера? Кроме того, если вас беспокоит только определенная группа/элементы проверки, почему у вас есть валидация на других? – Yahya

+0

другие валидаторы находятся в модальной панели всплывающих окон. которые используются, когда это всплывающее окно запускается только ... –

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