PasswordRecovery.VerifyingUser イベント

定義

メンバーシップ プロバイダーがユーザー名を検証する前に発生します。Occurs before the user name is validated by the membership provider.

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 

イベントの種類

LoginCancelEventHandler

次のコード例では、イベントを使用し VerifyingUser て、送信されたユーザー名が有効な電子メールアドレスとして書式設定されているかどうかを確認します。The following code example uses the VerifyingUser event to check whether the submitted user name is formatted as a valid email address. ユーザー名が適切に書式設定されていない場合、 UserNameInstructionText プロパティはエラーを表示するように変更されます。If the user name is not formatted properly, the UserNameInstructionText property is changed to show the error.

<%@ 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 有効であるかどうかを判断するために、ユーザー名がメンバーシッププロバイダーに送信される前に、サーバーでイベントが発生します。The VerifyingUser event is raised on the server before the user name is submitted to the membership provider to determine whether the user name is valid. このイベントを使用して、ユーザー名に必要なすべての前処理 (大文字と小文字の変換など) を実行したり、ユーザー名が電子メールアドレスなどの特定の形式であることを確認したりします。Use this event to perform any preprocessing needed on the user name, such as converting it to all uppercase or lowercase letters, or verifying that the user name is in a particular format, such as an email address.

PasswordRecoveryコントロールは最初に VerifyingUser イベントを発生させ、次に、プロパティで指定されたメンバーシッププロバイダーを使用して、入力された MembershipProvider ユーザー名が Web サイトの有効なユーザー名であるかどうかを判断します。The PasswordRecovery control first raises the VerifyingUser event, and then uses the membership provider specified in the MembershipProvider property to determine whether the user name entered is a valid user name for the Web site. 有効で、メンバーシッププロバイダーがパスワードの質問と回答をサポートしている場合は、Web サイトからパスワード確認の質問が返され、コントロールによって PasswordRecovery 質問ビューが表示されます。If it is valid, and the membership provider supports password question and answer, the password verification question is returned from the Web site and the PasswordRecovery control displays the Question view. ユーザー名が有効でない場合は、ユーザーが GeneralFailureText 別のユーザー名を入力できるように、プロパティのテキストがユーザー名ビューに表示されます。If the user name is not valid, the text in the GeneralFailureText property is displayed in the UserName view so that the user can enter a different user name.

メンバーシッププロバイダーがパスワードの質問と回答をサポートしていない場合は、 SendingMail イベントが発生し、新しいパスワードまたは回復したパスワードを使用して電子メールがユーザーに送信されます。If the membership provider does not support password question and answer, the SendingMail event is raised and email is sent to the user with the new or recovered password.

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。For more information about handling events, see Handling and Raising Events.

適用対象

こちらもご覧ください