Я использую UpdatePanel и хочу поместить CompareValidator в два текстовых поля, чтобы убедиться, что введенный пользователем пароль и подтверждение совпадают.
Это нормально работает (у меня VS2008 и я использую .NET 3.5) из коробки, с одной незначительной проблемой:
Проверка запускается, как только пользователь щелкает из первого текстового поля, прежде чем он получает возможность набрать во втором. Это не вызывает никаких РЕАЛЬНЫХ проблем программно (все, что происходит, это сообщение об ошибке, оно исчезает при вводе подтверждения), но наши тестировщики говорят, что это проблема. Он не пройдет тестирование UA, пока проверка не сработает, пока они не нажмут «Сохранить».
Как заставить CompareValidator не запускаться, пока они не введут текст в оба поля?
EDIT:
Вот пример разметки.
<div>
<div><asp:Label runat="server" ID="lblPassword" Text="Password"/></div>
<div><asp:TextBox runat="server" TextMode="password" ID="txtPassword" size="25" /></div>
</div>
<div>
<div><asp:Label runat="server" ID="lblConfirmPassword" Text="Confirm Password"/></div>
<div><asp:TextBox runat="server" TextMode="password" ID="txtConfirmPassword" size="25" /></div>
</div>
<asp:CompareValidator ID="CompareValidator1" ValidationGroup="PublishPassValidation" ControlToValidate="txtPassword" ControlToCompare="txtConfirmPassword" runat="server" ErrorMessage="Passwords do not match"></asp:CompareValidator>
Вышеприведенное находится в элементе управления, содержащемся в шаблоне содержимого панели обновления на странице.
(CSS-классы и стили удалены для краткости)