MVC重點在於關注點分離
保哥說過Model要重、Controller要輕、View要笨
所以設計Model相當重要
為來減輕Controller跟View所以很多事情都要拿到Model來做
表單欄位驗證就必需要在Model裡做
以下就寫幾個會常用到的欄位驗證(os其實是以後自己要copy用)
//先using以下兩個命名空間 using System.ComponentModel.DataAnnotations; using System.ComponentModel;以下幾個例子大概都包含了常用的
public class AccountInfo { [Key] public int AccountID { get; set; } [DisplayName("登入帳號")] [Required(ErrorMessage = "請輸入登入帳號")] [StringLength(40, ErrorMessage = "登入帳號最多20個字")] public string AccountName { get; set; } [DisplayName("密碼")] [Required(ErrorMessage = "請輸入密碼")] [MaxLength(20, ErrorMessage = "密碼最多20個字")] [MinLength(8, ErrorMessage = "密碼最少8個字")] [DataType(DataType.Password)] public string Password { get; set; } [DisplayName("確認密碼")] [DataType(DataType.Password)] [Compare("Password", ErrorMessage = "密碼與確認密碼不符")] public int ConfirePassword { get; set; } [DisplayName("姓名")] [StringLength(10, ErrorMessage = "姓名最多10個字")] public string Name { get; set; } [DisplayName("生日")] [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")] public DateTime BirthDay { get; set; } [DisplayName("年齡")] [Range(1,100,ErrorMessage="年齡請輸入1~100歲")] public int Age { get; set; } [DisplayName("電子郵件")] [EmailAddress(ErrorMessage="信箱格式錯誤")] public string Email { get; set; } [DisplayName("個人部落格")] [Url (ErrorMessage="連結格式錯誤")] public string BolgUrl { get; set; } [DisplayName("薪資")] [RegularExpression(@"^d+$", ErrorMessage = "請輸入數字.")] public int Salary { get; set; } }