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
設定為 ,以取消目前的動作。
如果您藉由將 屬性true
設定Cancel為 來取消目前的動作,您可以將 屬性設定FailureInformation為例外狀況,以描述密碼驗證失敗的原因。 呼叫方法會擲回 屬性設定為的 FailureInformation 例外狀況。
FailureInformation如果 屬性為 null
,呼叫端將會擲回泛型密碼驗證失敗例外狀況。