我无法将电子邮件验证添加到MVC

本文关键字:添加 MVC 验证 电子邮件 | 更新日期: 2024-09-22 20:46:09

我正在使用。Net Framework 4.0并尝试构建MVC。我试图通过下面的代码添加电子邮件验证

[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string EMAIL_ADRESS { get; set; }

但它不能编译。它给出错误"找不到类型或命名空间名称"电子邮件"(您是否缺少using指令或程序集引用?)"

我做错了什么?

我无法将电子邮件验证添加到MVC

EmailAddressAttributeSystem.ComponentModel.DataAnnotations.dll程序集中的System.ComponentModel.DataAnnotations命名空间中定义,并且仅在中可用。净4.5。

下面是检查表:

  1. 你正在瞄准。净4.5
  2. 您已经在编写此代码的项目中引用了System.ComponentModel.DataAnnotations.dll程序集
  3. 通过在文件顶部添加一个using System.ComponentModel.DataAnnotations;,您已经将正确的命名空间引入了作用域

我的清单中的第3项似乎不满意。这就是为什么此属性不适用于您的原因。

如果您不能重新确定要使用的项目的目标,则可以使用标准的正则表达式验证器。净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

正如Darin所指出的,您必须使用System.ComponentModel.DataAnnotations命名空间,

也可以使用EmailAttribute而不是EmailAddress

[Email(ErrorMessage = "Invalid email")]
public string Email { get; set; }