Asp.net-Mvc

mvc [DataType(DataType.EmailAddress) 沒有驗證

  • July 12, 2012

我在電子郵件欄位上使用此程式碼:

   [Required]
   [DataType(DataType.EmailAddress)]
   [Display(Name = "Email address")]
   public string Email { get; set; }

[DataType(DataType.EmailAddress)]不起作用(不在客戶端的伺服器上不會發生驗證)。

我不確定是否應該為自己實現一個自定義屬性,或者我可以使用 MVC 3 中包含的一個。

如果需要,您能否建議我創建自定義屬性的解決方案。

我還閱讀了一些額外的擴展,例如 <http://nuget.org/packages/DataAnnotationsExtensions.MVC3>

你會推薦給我嗎?

目前我已經使用 DataAnnotationsExtensions 解決了我的問題

它只是工作,你用 NuGet 添加他們的庫

using DataAnnotationsExtensions;


[Required]
   [DataType(DataType.EmailAddress)]
   [Email]
   public string Email { get; set; }

您只需使用 [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;}

祝你好運!

引用自:https://stackoverflow.com/questions/11453574