我个人觉得模糊的错误信息很痛苦。在我的新实践项目中,我试图向用户输入添加额外的验证。但是,ASP.NET MembershipCreateStatus有成员;例如,当使用CreateUser 方法时, InvalidEmail会处理其中一些区域。
在输入到达Membership.CreateUser Method之前,我可以对提交的电子邮件执行 if 语句或正则表达式。但是,我不确定从哪里开始:
我知道这个问题有点主观,但我不想以后发现有更好的方法,如果你刚刚开始,它可以成为救命稻草。
除了系统检查之外,我是否应该创建一个额外的验证方法来检查电子邮件中非常具体的格式错误。如您所见,错误消息没有说明为什么它无效。
也可以创建我自己的枚举,例如,电子邮件包含下划线,我可以将其附加到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;
}
}
谢谢我的朋友。