2009-05-28 1 views
1

Я ищу идеи о том, как использовать настраиваемый элемент управления проверкой для asp: ChangePassword. Простая попытка установить свойство «ControlToValidate» в asp: CustomValidator control приводит к:Можете ли вы использовать asp: customvalidator с asp: ChangePassword control?

Контрольное «changePassword1», на которое ссылается свойство ControlToValidate «passwordValidation», не может быть проверено.

Спасибо.

ответ

1

Вы можете проверить все с помощью CustomValidator, если вы используете javascript для непосредственного получения элементов управления. Невозможность установить ControlToValidate означает, что вы не получаете данные в EventArgs и должны получать их самостоятельно.

0

Чтобы использовать настраиваемый валидатор, вам необходимо изменить элемент управления ChangePassword, чтобы стать шаблоном. Обязательно настройте группу проверки пользовательского валидатора таким же, как другие элементы управления в шаблоне. Кроме того, элемент управления ChangePassword имеет свойство NewPasswordRegularExpression, которое может удовлетворить ваши потребности.

0

Да, просто использовать шаблоны:

http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?path=~/aspnet/samples/ctrlref/login/ChangePasswordTemplates.src

http://quickstarts.asp.net/quickstartv20/aspnet/doc/ctrlref/login/changepassword.aspx

Пока текстовое поле-идентификатор «Имя пользователя» (или что вы хотите проверить), вы можете добавить любой валидатор к шаблону.

2

Основная проблема, которая приводит к этому сообщению об ошибке, заключается в том, что элемент управления ChangePassword не имеет атрибута «ValidationProperty», установленного на уровне класса. Как уже упоминалось ранее, вы можете просто исключить атрибут ControlToValidate из своего CustomValidator. Вероятно, это лучший план для элемента управления ChangePassword.

Если вы пытаетесь использовать CustomValidator с таможенным контролем, установите ValidationProperty на классе вашего пользовательского элемента управления:

[DefaultProperty("StateName"), ValidationProperty("StateName")] 
public class StateBox: CompositeControl 
{ 
    ... 

Если вы хотите использовать CustomValidator с управлением библиотекой, которая не имеет атрибута ValidationProperty установить, получить класс из элемента управления библиотеки и установить ValidationProperty в производном классе.