Проверка на стороне клиента с группами - PullRequest
1 голос
/ 13 марта 2009

У меня есть несколько вкладок, которые загружаются через ajax, и у каждой есть набор валидаторов. Я хочу разрешить пользователю изменять вкладки, только если эта вкладка действительна

Я думал, что установка группы проверки для валидаторов, а затем проверка конкретной группы, как это, будет работать:

function validatePage(group) {
    return Page_ClientValidate(group);
}

Однако, когда я вызываю функцию, она всегда возвращает true. Кто-нибудь может увидеть, что я делаю не так?

Я проверяю это так

alert(validatePage("presentaciones"));

И у меня есть несколько валидаторов:

// (...)
<asp:TextBox ValidationGroup="presentaciones" id="txtDescription" runat="server" Text='<%# Eval("Description") %>' MaxLength="50" />
<asp:RequiredFieldValidator ID="DescriptionRequiredFieldValidator" runat="server" ControlToValidate="txtDescription" SetFocusOnError="true" ValidationGroup="presentaciones" ErrorMessage="Debe ingresar una descripción" Display="Dynamic" />
// (...)

Ответы [ 3 ]

0 голосов
/ 13 марта 2009

Я предполагаю, что сценарии проверки не подключены. В вашей функции сделайте предупреждение ((typeof (Page_Validators) == "undefined")) и посмотрите, отображается ли оно true. Вы сказали, что загружаете вкладки через ajax. Возможно, вы захотите узнать, поможет ли размещение валидатора на странице где-нибудь, подключить сценарии проверки.

Другая вещь, на которую стоит обратить внимание, это Firefox и устаревший режим рендеринга .... просто клиентская сторона не работает в этом сценарии.

0 голосов
/ 21 июня 2012

Это можно сделать на стороне клиента. Как это:

  $('.buttonWithSameValidationGroup').bind('click', function () {
                if (Page_ClientValidate($(this).attr('validationgroup'))) {
    //do stuff
  }
});

Иногда вам может понадобиться добавить следующий код на стороне сервера в методе Page Pre_Render

button1.AddAttributes("validationgriup","group1");
0 голосов
/ 13 марта 2009

Я заставил группы работать на стороне сервера с Page.Validate(group), но я не знал, что это можно сделать на стороне клиента. Возможно, вам нужно реализовать пользовательский элемент управления проверкой, который проверяет состояние каждой вкладки.

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