Проверка поля только одной кнопки - PullRequest
13 голосов
/ 13 июня 2011

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

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

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

Ответы [ 4 ]

23 голосов
/ 06 февраля 2014

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

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

<asp:Button ValidationGroup='valGroup1' Text='I trigger validation' ... />
9 голосов
/ 13 июня 2011

Как насчет настройки группы проверки?

http://msdn.microsoft.com/en-us/library/ms227424.aspx

4 голосов
/ 23 ноября 2017

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

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

1 голос
/ 13 июня 2011

Кнопка имеет свойство CausesValidation, которое может отключить проверку для этой кнопки.Больше информации здесь: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.causesvalidation.aspx

...