Подтвердить что ты не робот

Запуск нескольких групп проверки с помощью одной кнопки?

Скажем, на странице TestPage.aspx есть два элемента управления. Первым элементом управления является адресное управление, которое имеет группу проверки, называемую "AddressGroup". Эта группа содержит несколько элементов проверки, которые сортируются в сводке проверки для этого элемента управления. Второй элемент управления - это система управления кредитными картами и имеет группу валидации под названием "CreditCardGroup". Он также имеет несколько валидаторов и сводку для отображения результатов. Чтобы добавить к проблеме, на странице есть некоторые случайные элементы управления, которые также имеют валидаторы, привязанные к третьему элементу ValidatorSummary.

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

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

4b9b3361

Ответ 1

Вы говорите о проверке на стороне клиента или на стороне сервера? Ответ Jamie на стороне сервера, но для проверки на стороне клиента вам, вероятно, потребуется написать свою собственную функцию JS, которая будет инициировать валидацию во всех трех группах.

Ответ 2

Вызовите метод Validate для каждой группы проверки отдельно внутри обработчика нажатия кнопки:

bool isValidTest = false;
Validate("AddressGroup");
isValidTest = IsValid;
Validate("CreditCardGroup");
isValidTest &= IsValid;
// etc.
if (!isValidTest) return;

Следующая проблема, с которой вы можете столкнуться, состоит в том, что элемент управления ValidationSummary связан с одной группой проверки. Единственный способ, которым я нашел отображение всех сообщений об ошибках для нескольких групп (без прохождения дерева управления), используется несколько элементов управления ValidationSummary.

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

Отредактировано для добавления: переменная isValidTest не требуется. Согласно документам:

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

Ответ 3

Вызов Page.Validate() на стороне сервера будет проверять все валидаторы.