DataType
attribute is used for formatting purposes, not for validation.
I suggest you use ASP.NET MVC 3 Futures for email validation.
Sample code:
[Required]
[DataType(DataType.EmailAddress)]
[EmailAddress]
public string Email { get; set; }
If you happen to be using .NET Framework 4.5
, there’s now a built in EmailAddressAttribute
that lives in System.ComponentModel.DataAnnotations.EmailAddressAttribute
.