我在电子邮件字段中使用此代码:
- [required]
- [DataType(DataType.EmailAddress)]
- [Display(Name = "Email address")]
- public string Email { get; set; }
[DataType(DataType.EmailAddress)]不起作用(在不在客户端的服务器上不进行验证).
我不确定是否应该自己实现自定义属性,或者我可以使用MVC 3附带的属性.
我还阅读了一些额外的扩展,例如
http://nuget.org/packages/DataAnnotationsExtensions.MVC3
你能告诉我吗?
解决方法
您只需使用[EmailAddress]即可使用常用的DataAnnotations库
- using System.ComponentModel.DataAnnotations;
- [required]
- [EmailAddress]
- public String Email { get; set; }
也仅供参考,这是此验证的正则表达式版本:
- [RegularExpression(@"^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$",ErrorMessage = "Email is not valid")]
- public String Email {get; set;}
祝你好运!