次の方法で共有


PasswordRecovery.VerifyingUser イベント

定義

メンバーシップ プロバイダーがユーザー名を検証する前に発生します。

public:
 event System::Web::UI::WebControls::LoginCancelEventHandler ^ VerifyingUser;
public event System.Web.UI.WebControls.LoginCancelEventHandler VerifyingUser;
member this.VerifyingUser : System.Web.UI.WebControls.LoginCancelEventHandler 
Public Custom Event VerifyingUser As LoginCancelEventHandler 

イベントの種類

次のコード例では、 イベントを VerifyingUser 使用して、送信されたユーザー名が有効な電子メール アドレスとして書式設定されているかどうかを確認します。 ユーザー名が正しく書式設定されていない場合は、エラーを UserNameInstructionText 表示するように プロパティが変更されます。

<%@ page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

bool IsValidEmail(string strIn)
{
    // Return true if strIn is in valid email format.
    return Regex.IsMatch(strIn, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"); 
}

void PasswordRecovery1_VerifyingUser(object sender, System.Web.UI.WebControls.LoginCancelEventArgs e)
{
    if (!IsValidEmail(PasswordRecovery1.UserName))
    {
        PasswordRecovery1.UserNameInstructionText = "You must enter a valid email address.";
        e.Cancel = true;
    }
    else
    {
            PasswordRecovery1.UserNameInstructionText = "Enter your User Name to receive your password.";
    }
}

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:passwordrecovery id="PasswordRecovery1" 
        runat="server" 
        onverifyinguser="PasswordRecovery1_VerifyingUser">
      </asp:passwordrecovery>
    </form>
  </body>
</html>
<%@ page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    Function IsValidEmail(ByVal strIn As String) As Boolean
        ' Return true if strIn is in valid email format.
        Return Regex.IsMatch(strIn, ("^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"))
    End Function

    Sub PasswordRecovery1_VerifyingUser(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs)
        If Not IsValidEmail(PasswordRecovery1.UserName) Then
            PasswordRecovery1.UserNameInstructionText = "You must enter a valid email address."
            e.Cancel = True
        Else
            PasswordRecovery1.UserNameInstructionText = "Enter your User Name to receive your password."
        End If
    End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:passwordrecovery id="PasswordRecovery1" 
        runat="server" 
        onverifyinguser="PasswordRecovery1_VerifyingUser">
      </asp:passwordrecovery>
    </form>
  </body>
</html>

注釈

イベントは VerifyingUser 、ユーザー名がメンバーシップ プロバイダーに送信される前にサーバーで発生し、ユーザー名が有効かどうかを判断します。 このイベントを使用して、ユーザー名に必要な前処理 (大文字または小文字への変換、ユーザー名の特定の形式 (メール アドレスなど) の確認など) を実行します。

コントロールは PasswordRecovery 最初に イベントを VerifyingUser 発生させ、 プロパティで指定されたメンバーシップ プロバイダーを MembershipProvider 使用して、入力されたユーザー名が Web サイトの有効なユーザー名であるかどうかを判断します。 有効で、メンバーシップ プロバイダーがパスワードの質問と回答をサポートしている場合は、Web サイトからパスワード検証の質問が返され、コントロールに PasswordRecovery [質問] ビューが表示されます。 ユーザー名が無効な場合、ユーザーが別のユーザー名を GeneralFailureText 入力できるように、 プロパティのテキストが UserName ビューに表示されます。

メンバーシップ プロバイダーがパスワードの質問と回答を SendingMail サポートしていない場合は、イベントが発生し、新しいパスワードまたは回復されたパスワードを使用して電子メールがユーザーに送信されます。

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。

適用対象

こちらもご覧ください