ValidatePasswordEventArgs.Cancel 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示是否取消当前 create-user、change-password 或 reset-password 操作。
public:
property bool Cancel { bool get(); void set(bool value); };
public bool Cancel { get; set; }
member this.Cancel : bool with get, set
Public Property Cancel As Boolean
属性值
true 如果当前 create-user、change-password 或 reset-password 操作将被取消,则为 ;否则,为 false. 默认值为 false。
示例
下面的代码示例演示了一个 ValidatingPassword 事件,该事件验证用户的密码格式,如果密码与所需格式不匹配,则取消该操作。
public void Page_Load()
{
Membership.ValidatingPassword +=
new MembershipValidatePasswordEventHandler(OnValidatePassword);
}
public void OnValidatePassword(object sender,
ValidatePasswordEventArgs args)
{
System.Text.RegularExpressions.Regex r =
new System.Text.RegularExpressions.Regex(@"(?=.{6,})(?=(.*\d){1,})(?=(.*\W){1,})");
if (!r.IsMatch(args.Password))
{
args.FailureInformation =
new HttpException("Password must be at least 6 characters long and " +
"contain at least one number and one special character.");
args.Cancel = true;
}
}
Public Sub Page_Load()
AddHandler Membership.ValidatingPassword, _
New MembershipValidatePasswordEventHandler(AddressOf OnValidatePassword)
End Sub
Public Sub OnValidatePassword(sender As Object, _
args As ValidatePasswordEventArgs)
Dim r As System.Text.RegularExpressions.Regex = _
New System.Text.RegularExpressions.Regex("(?=.{6,})(?=(.*\d){1,})(?=(.*\W){1,})")
If Not r.IsMatch(args.Password) Then
args.FailureInformation = _
New HttpException("Password must be at least 6 characters long and " & _
"contain at least one number and one special character.")
args.Cancel = True
End If
End Sub
注解
该Cancel属性用于取消当前CreateUser或ChangePasswordResetPassword操作。 可以通过将 Cancel 属性 true 设置为在 ValidatingPassword 事件期间取消当前操作。
如果通过将属性true设置为 Cancel 来取消当前操作,则可以将该FailureInformation属性设置为描述密码验证失败原因的异常。 调用方法将引发属性设置为的 FailureInformation 异常。
FailureInformation如果该属性为null,调用方将引发泛型密码验证失败异常。