这似乎应该有一个简单的解决方案,但我似乎找不到它。
我ChangePassword
在 ASP.NET 2.0 应用程序中使用该控件,同时使用ChangePasswordTemplate
和SuccessTemplate
来定义自定义样式。文本框的 ID 如下
当前密码文本框 ID = CurrentPassword
新密码文本框 ID = NewPassword
确认新密码文本框 ID = ConfirmPassword
出于DRY
某种原因,我想使用自定义成员资格提供程序中定义的正则表达式来验证新密码客户端。不幸的是,设置ChangedPassword
控件的属性如下
ChangePassword.NewPasswordRegularExpression =
Membership.PasswordStrengthRegularExpression;
ChangePassword.NewPasswordRegularExpressionErrorMessage =
"Regex Error Message";
inPage_Init
将表达式设置为预期值,但不会导致客户端验证在新密码上发生(页面回发并显示标准成员资格ChangePassword
失败文本)。
我可以RegularExpressionValidator
在 the 中使用 aChangePasswordTemplate
并将ValidationExpression
属性设置为,Membership.PasswordStrengthRegularExpression
但我能看到的最好方法是通过模板中的控件递归查找RegularExpressionValidator
并设置属性,这让我相信必须有一种更优雅的方式. 我在模板中有其他验证器控件(必填字段和比较验证器),以防这可能导致与使用ChangePassword
验证属性发生冲突。
那么我的问题是,ChangePassword
控件的NewPasswordRegularExpression
属性在使用模板时是否有效,或者我是否需要沿着RegularExpressionValidator
控制路线走?
编辑:
对此提供了赏金,因为我找不到关于为什么ChangePassword
控件的NewPasswordRegularExpression
属性不验证客户端的明确答案。