这似乎应该有一个简单的解决方案,但我似乎找不到它。
我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属性不验证客户端的明确答案。