Кажется, у него должно быть простое решение, но я не могу его найти.
Я использую элемент управления ChangePassword
в приложении ASP.NET 2.0, используя ChangePasswordTemplate
и SuccessTemplate
для определения пользовательского стиля. Текстовые поля имеют следующие идентификаторы
Идентификатор текстового поля текущего пароля = Текущий пароль
Идентификатор текстового поля нового пароля = Новый пароль
Подтвердите новый текстовый идентификатор пароля = ConfirmPassword
По причинам DRY
я хочу использовать регулярное выражение, определенное в провайдере нестандартного членства, для проверки правильности нового пароля на стороне клиента. К сожалению, установка свойства элемента управления ChangedPassword
выглядит следующим образом
ChangePassword.NewPasswordRegularExpression =
Membership.PasswordStrengthRegularExpression;
ChangePassword.NewPasswordRegularExpressionErrorMessage =
"Regex Error Message";
в Page_Init
устанавливает выражение в ожидаемое значение, но не вызывает проверку на стороне клиента нового пароля (страница отправляется обратно и отображается стандартный текст ошибки * Membership ChangePassword
).
Я мог бы использовать RegularExpressionValidator
в ChangePasswordTemplate
и установить для свойства ValidationExpression
значение Membership.PasswordStrengthRegularExpression
, но лучший способ, которым я могу это сделать, - это повторение через элементы управления в шаблоне для поиска RegularExpressionValidator
и установка свойства, что заставляет меня поверить, что должен быть более элегантный способ. У меня есть другие элементы управления валидатора в шаблоне (обязательные поля и валидатор сравнения), на случай, если это может вызвать конфликт с использованием ChangePassword
свойств валидации.
Мой вопрос: работает ли свойство NewPasswordRegularExpression
элемента управления ChangePassword
при использовании шаблонов или мне нужно перейти по маршруту управления RegularExpressionValidator
?
EDIT:
Предложил вознаграждение за это, поскольку я не могу найти однозначного ответа о том, почему свойство NewPasswordRegularExpression
элемента управления ChangePassword
не проверяет клиентскую сторону.