Включить / отключить средства проверки валидатора asp.net в определенной «ValidationGroup» с помощью jQuery?

9

Я знаю, как включать/отключать отдельные элементы проверки валидации на стороне клиента, используя

ValidatorEnable(validator, false);

Но как включить/отключить все валидаторы в ValidationGroup?

Теги:
validation

3 ответа

19
Лучший ответ

Свойства валидатора не отображаются в качестве атрибутов, к сожалению, поэтому я не знаю, как правильно их выбирать. Вы можете попробовать перебрать массив Page_Validators и отфильтровать те, с которыми хотите работать.

Try:

$.each(Page_Validators, function (index, validator){
   if (validator.validationGroup == "your group here"){

      ValidatorEnable(validator, false);

   }
});
  • 0
    Я ценю его. Ваш код хорош и лаконичен.
  • 0
    ??? я был потрясен! Первое: это работает, спасибо за это. Но мой вопрос: почему вы можете использовать Page_Validators, и вам не нужно использовать $ ("# Page_Validators")? (который не работает :-))
Показать ещё 2 комментария
2

Отметьте этот blogpost, объясняющий, как с помощью javascript. Основная часть кода из блога:

<script type="text/javascript">
        function HasPageValidators()
        {
            var hasValidators = false;

            try
            {
                if (Page_Validators.length > 0)
                {
                    hasValidators = true;
                }
            }
            catch (error)
            {
            }

            return hasValidators;
        }

        function ValidationGroupEnable(validationGroupName, isEnable)
        {
            if (HasPageValidators())
            {
                for(i=0; i < Page_Validators.length; i++)
                {
                    if (Page_Validators[i].validationGroup == validationGroupName)
                    {
                        ValidatorEnable(Page_Validators[i], isEnable);
                    }
                }
            }
        }
    </script>
1

В качестве альтернативы вы можете просто иметь атрибут ValidationGroup с каждым определенным валидатором.

Тогда вам не нужны никакие Jquery или javascript, чтобы закрыть их.

Вот ссылка, которая сработала для меня.

http://www.w3schools.com/aspnet/showasp.asp?filename=demo_prop_webcontrol_imagebutton_validationgroup

  • 0
    Вы легенда! Да так просто Я попытался перехватить UpdatePanel из-за кода, чтобы отключить валидаторы на другой панели и разместить триггеры из-за кода, просто чтобы панель обновлений отдельно обрабатывала свои валидары! Ты спас меня часами

Ещё вопросы

Сообщество Overcoder
Наверх
Меню