Проблема с валидацией

У меня есть небольшая контактная страница на моей странице asp.net. У меня есть ~ 5 валидаторов, которые могут пойти не так, и у меня есть ValidationSummary.

Проблема в том, что когда я нажимаю кнопку «SubmitButton», все элементы управления должны исчезнуть, и должен появиться блок с ValidationSummary.

Но я понятия не имею, как это реализовать, потому что на обычной кнопке / кнопке ссылки у меня не будет видимой / невидимой обратной передачи DIV. При обратной передаче у меня не будет информации для ValidationSummary.

Надеюсь, я смог объяснить это правильно, чтобы вы меня поняли :)


person PassionateDeveloper    schedule 14.04.2011    source источник
comment
ValidationSummary показывает произошедшие ошибки (обратная передача не требуется, если у вас есть скрипты на стороне клиента для проверки). Если вы показываете ValidationSummary, то у вас есть ошибки, как тогда, если вы скроете элементы управления, они исправят их?   -  person Prescott    schedule 14.04.2011
comment
Я думаю, вам следует использовать настраиваемый валидатор, и если он не работает, скройте Divs   -  person Ali    schedule 14.04.2011
comment
Почему вы заставляете людей обращаться к серверу и обратно, вместо того, чтобы позволить им исправить это прямо здесь? Меня как пользователя это расстроило бы. Кроме того, некоторые браузеры не сохраняют состояние элементов управления формы (кнопка «Назад»), поэтому им придется вводить данные заново.   -  person Nikki9696    schedule 14.04.2011


Ответы (1)


Сводка проверки показывает / скрывается, это то, что вы хотите контролировать? Во всяком случае, вы правы, это нужно делать на клиентском JavaScript.

Один из способов - вручную вызвать метод проверки Page_ClientValidate и не полагаться на функциональность проверки по умолчанию.

Другой способ - заменить функциональность клиента по умолчанию, выполнив:

var fn = Page_ClientValidate;
Page_ClientValidate = function(..) {
   var result = fn(..);

   if (!!result)
      //Valid,
   else
      //Invalid, swap divs

   return result;
}

Взгляните на методы проверки, доступные вам на клиенте, которые можно использовать для переопределения реализаций по умолчанию: http://msdn.microsoft.com/en-us/library/aa338815(v=vs.71).aspx

HTH.

person Brian Mains    schedule 14.04.2011