Required必须项验证属性
[Required]public string FirstName { get; set; } //ID编号 [ScaffoldColumn(false)] [Required(AllowEmptyStrings = false, ErrorMessage = "用户ID不能为空")] [Display(Name = "记录编号", Order = 20000)] public int ID { get; set; }
StringLength长度
[Required][StringLength(160)]public string LastName { get; set; }[Required][StringLength(160, MinimumLength=3)]public string FirstName { get; set; }
RegularExpression正则表达式
[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")]public string Email { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "邮箱必填")] [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9]+\.[A-Za-z]{2,4}", ErrorMessage = "{0}的格式不正确")] public string Email { get; set; }
匹配验证
[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")]public string Email { get; set; }[Compare("Email")]public string EmailConfirm { get; set; }
Compare 比较两个字段值是否相同。
Range数字范围
[Range(35,44)]public int Age { get; set; }[Range(typeof(decimal), "0.00", "49.99")]public decimal Price { get; set; }
Custom Error Messages and Localization自定义错误消息和本地化
[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}",ErrorMessage="Email doesn't look like a valid email address.")]public string Email { get; set; }[Required(ErrorMessage="Your last name is required")][StringLength(160, ErrorMessage="Your last name is too long")]public string LastName { get; set; }
@Html.EditorFor(model => model.Email) @Html.ValidationMessageFor(model => model.Email)
Display
[Required][StringLength(160, MinimumLength=3)][Display(Name="First Name")]public string FirstName { get; set; }
[Display(Name = "身份证号码")] [RegularExpression(@"\d{17}[\d|x]|\d{15}", ErrorMessage = "身份证号码格式错误")]@Html.LabelFor(t => t.IdentityNo)@Html.EditorFor(model => model.IdentityNo) @Html.ValidationMessageFor(model => model.IdentityNo)
自动生成编辑页面
@using (Html.BeginForm()) { @Html.ValidationSummary(true) }
隐藏属性ScaffoldColumn,使用EditorForModel生效
[ScaffoldColumn(false)]public string Username { get; set; }
如果设置为false,则该字段不会在View层显示,里面定义的验证也不会生效。
DisplayFormat格式化已短时间形式显示显示
[DisplayFormat(ApplyFormatInEditMode=true, DataFormatString="{0:d}")]public decimal Time{ get; set; }以货币格式显示数值[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:c}")]public decimal Pay{ get; set; }
ReadOnly只读属性,在页面上可以显示但无法将值传入控制器
[ReadOnly(true)]public decimal Total { get; set; }
DataType数据类型
[Required][DataType(DataType.Password)][Display(Name="Password")]public string Password { get; set; }