hej*_*jto 5 .net c# asp.net email email-validation
在验证电子邮件地址时,我尝试使用以下两个EmailAddressAttribute
类System.ComponentModel.DataAnnotations
:
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Email { get; set; }
Run Code Online (Sandbox Code Playgroud)
和MailAddress
类从System.Net.Mail
做:
bool IsValidEmail(string email)
{
try {
var addr = new System.Net.Mail.MailAddress(email);
return addr.Address == email;
}
catch {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
按照C# 代码中的建议验证电子邮件地址。这两种方法原则上都有效,它们会捕获无效的电子邮件地址,例如user@
,不符合格式的user@host
。
我的问题是这两种方法都没有检测到用户字段中的无效字符,例如æ, ø, or å (e.g. åge@gmail.com)
. 为什么这些字符不返回验证错误有什么原因吗?是否有人对如何在用户字段中合并无效字符的验证有一个优雅的解决方案?