【发布时间】:2018-02-08 05:52:55
【问题描述】:
我是 C# 新手,如果您看到基本错误,请道歉。我想验证一个电子邮件地址,我正在使用一个公共布尔值,尝试捕获,然后是一个公共无效。我想从我能够做到的相关 HTML 中检索电子邮件文本,然后使用“MailAddress”验证它是否是有效的电子邮件。
问题是它抛出了异常:
throw new Exception("email within booking confirmation summary is not valid");
我认为我使用的代码不正确,但有人可以指导我在代码中需要做什么,以确保我正确验证电子邮件,因为我相信我有一些不需要的代码。下面是代码:
public static bool IsEmail(string emailToValidate)
{
if (string.IsNullOrEmpty(emailToValidate))
return true;
try
{
new MailAddress(emailToValidate);
return true;
}
catch (Exception ex)
{
return false;
}
}
public void CheckEmailDisplayed()
{
var email = _driver.FindElement(ConfirmationResponsiveElements.ViewEmail);
var emailText = email.Text;
if (IsEmail(emailText))
{
Console.WriteLine("email is valid");
}
else
{
throw new Exception("email within booking confirmation summary is not valid");
}
ViewEmail 指向下面的 HTML 标记:
public static By ViewEmail => By.ClassName("confirmation-banner__text");
谢谢
【问题讨论】:
-
如果不是有效的电子邮件地址,您将引发异常。如果你不想抛出异常,那就不要抛出异常!
-
是的,但它应该是有效的,所以它不应该抛出一个,或者这就是我所希望的:)
-
你还没有向我们展示你的意见。
-
这是输入:'我们已向 yourname@gmail.com 发送电子邮件确认您的预订'
-
这不是一个有效的电子邮件地址。那是一句话。如果您希望您的函数正确验证它,您只需发送
yourname@gmail.com。或者重写它,以便检查整个字符串以查看是否存在至少一个有效的电子邮件地址。