0

個人的には、あいまいなエラー メッセージが苦痛だと思います。私の新しい練習プロジェクトでは、ユーザー入力に追加の検証を追加しようとしています。ただし、ASP.NET MembershipCreateStatusにはメンバーがあります。たとえば、 CreateUserメソッドが使用されたときに、これらの領域の一部を処理する InvalidEmail です。

入力がMembership.CreateUser Methodに到達する前に、送信された電子メールに対して if ステートメントまたは Regex を実行できます。ただし、どこから始めればよいかわかりません。

この質問が少し主観的なものであることは承知していますが、後でもっと良い方法があることを知りたくありません。

システム チェックに加えて、電子メールの特定のフォーマット エラーをチェックする追加の検証メソッドを作成する必要があります。ご覧のとおり、エラー メッセージには無効である理由が示されていません。

また、たとえば、電子メールにアンダースコアが含まれているなど、独自の列挙型を作成して、MembershipCreateStatusに添付することはできますか? もしそうなら、どのように?

これが私のサンプルコードです。

public string GetErrorMessage(MembershipCreateStatus status)
{

switch (status)
{

case MembershipCreateStatus.InvalidEmail:
return "The e-mail address provided is invalid.";

default:
return "Go to jail!!";
}
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
Membership.CreateUser(txtUserName.Text, txtPassword.Text, txtEmail.Text);
}
catch (MembershipCreateUserException ex)
{
ltrStatusMsg.Text = GetErrorMessage(ex.StatusCode);
}
catch (HttpException ex)
{
ltrStatusMsg.Text = ex.Message;
}
}

ありがとう、友よ。

4

2 に答える 2