Проверка поля только одной кнопкой

У меня есть следующий валидатор в текстовом поле внутри модального диалогового окна.

<asp:RequiredFieldValidator runat = "server" 
                            ErrorMessage = "Role name can not be empty."
                            ControlToValidate = "tbxRoleName" />

Он работает так, как должно, за исключением того, что триггеры проверки на всех других кнопках OnClick-обработчика также отображаются на aspx-странице. Поскольку диалог невидим, он выглядит как кнопки, которые просто не работают на странице. Мое обходное решение состоит в том, чтобы добавить CausesValidation = "false" для всех кнопок на странице. Но это очень плохое решение, и я думаю, что должен быть более умный способ.

Ответ 1

Назначьте ValidationGroup каждому валидатору, а также кнопке, которая должна инициировать проверку (но не другую кнопку). Что-то вроде:

<asp:RequiredFieldValidator ValidationGroup='valGroup1' ... />

<asp:Button ValidationGroup='valGroup1' Text='I trigger validation' ... />

Ответ 4

Также вы можете использовать "causevalidation" для кнопки. Если это неверно, кнопка не будет отвечать на проверку на странице aspx.

Пример: <asp:Button runat="server" Text="Cancel" CausesValidation="false" />