我正在使用.Net Framework 4.0并尝试构建MVC。我尝试通过以下代码添加电子邮件验证
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string EMAIL_ADRESS { get; set; }
但它没有编译。它给出了错误"类型或命名空间名称'电子邮件'找不到(你错过了使用指令或汇编引用吗?)"
我做错了什么?
答案 0 :(得分:4)
EmailAddressAttribute
在System.ComponentModel.DataAnnotations
程序集内的System.ComponentModel.DataAnnotations.dll
命名空间中定义,仅在.NET 4.5中可用。
所以这里的清单:
System.ComponentModel.DataAnnotations.dll
程序集
using System.ComponentModel.DataAnnotations;
我的核对清单中的数字3似乎不满意。这就是为什么这个属性不适合你的原因。
如果您无法重新定位项目以使用.NET 4.5,则可以使用标准的正则表达式验证程序:
[RegularExpression("Some magic regex you can google out to validate an email address", ErrorMessage = "Invalid Email Address")]
public string EMAIL_ADRESS { get; set; }
另外,我建议您在命名属性时使用标准C#约定并使用EmailAddress
代替EMAIL_ADRESS
。
答案 1 :(得分:0)
Darin指出你必须使用System.ComponentModel.DataAnnotations
命名空间,
您也可以使用EmailAttribute
代替EmailAddress
[Email(ErrorMessage = "Invalid email")]
public string Email { get; set; }