ValidatePasswordEventArgs.Cancel 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定一個值,指示目前的建立使用者、更改密碼或重設密碼的動作是否會被取消。
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如果目前的建立使用者、更改密碼或重設密碼操作會被取消;否則,。 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的 、 ChangePassword或 ResetPassword 動作。 你可以在事件期間ValidatingPassword將屬性設定Cancel為 來true取消當前動作。
如果你將當前動作設Canceltrue為 ,可以將FailureInformation該屬性設為例外,描述密碼驗證失敗的原因。 呼叫方法會拋出該 FailureInformation 屬性所設定的例外。 若屬性 FailureInformation 為 null,呼叫者會拋出通用的密碼驗證失敗例外。