using System.ComponentModel.DataAnnotations; //字段顯示名稱 [Display(Name = "用戶名")] //數據類型(好比生成的文本框的類型) [DataType(DataType.Password)] //非空驗證 [Required(ErrorMessage = "*")] //字符長度驗證 [StringLength(50, ErrorMessage = "字符長度應在6-50之間", MinimumLength = 6)] //驗證範圍 [Range(10, 120, ErrorMessage = "年齡應在10-120之間")] //正則表達式驗證 [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9._]+\.[A-Za-z]{2,4}", ErrorMessage = "郵箱格式不正確")] //郵箱格式驗證 [EmailAddress(ErrorMessage = "郵箱格式不正確")] //WPF 下好像不支持 //比較驗證 [Compare("Password", ErrorMessage = "密碼不一致")] public string PasswordConfirm { get; set; }
其中:ErrorMessage裏面是自定義錯誤信息,若是不加這個屬性,將顯示系統默認的提示錯誤信息(系統提示比較生硬可能),通常都加上這個屬性。 html
ErrorMessage容許開發者使用{0}佔位符來顯示字段的顯示名(即[Display(Name = "用戶名")]),若是沒有Display特性,那麼會顯示屬性名。如:正則表達式
[Required(ErrorMessage = "{0}不能爲空!")] [Display(Name = "用戶名")] public string UserName { get; set; }
若是驗證的特性中還有其餘參數,那麼ErrorMessage能夠用佔位符直接顯示其餘參數,如:ui
[Required] [StringLength(100, ErrorMessage = "請輸入{2}到{1}位的{0}。", MinimumLength = 6)] [DataType(DataType.Password)] [Display(Name = "密碼")] public string Password { get; set; } //系統會提示:「請輸入6到100位的密碼」。