MVC4数据注解和验证

来源:互联网 发布:大数据在制造业的应用 编辑:程序博客网 时间:2024/06/15 23:03

原文地址:http://www.cnblogs.com/wangchenran/p/3142616.html


  在传统的asp.net开发中,数据的验证一直是个火热的话题,无论是客户端进行验证还是服务器进行验证,通常我们都会为了一个简单的业务而要去写非常复杂的验证方法。在MVC中,MVC为我们提供了各种数据注解和数据验证的特性,很方便的让我们能实现数据验证这一繁琐的工作,以下是我整理的常见的数据注解和验证的DOME!注:自定义验证特性并未写在此篇中!

 

model中的验证注解特性:

 

public class StuInfo
    {
        public int ID { get;set;}
  
        [Display(Name = "姓名")]   //设置要显示的字段名
        [Required(ErrorMessage = "您需要填写{0}")] //设置为必须字段 已经错误提示
        [StringLength(50, MinimumLength = 3)]     //设置最大长度和最小长度
        public string Name { get;set;}
  
        [Display(Name = "年龄")]
        [Range(1, 150, ErrorMessage = "年龄填写不正确!")] //设置 值范围
        public int Age { get;set;}
  
        [Display(Name = "身高")]
        [Range(typeof(decimal),"50.00","250.00",ErrorMessage = "身高超出指定范围")]
        public decimal Height { get;set;}
  
        [Display(Name = "生日")]
        [DataType(DataType.Date,ErrorMessage = "{0}格式不正确")] //设置数据类型以及错误提示
        public DateTime Birthday { get;set;}
  
        [Display(Name = "电话")]
        [Remote("CheckPhone","StuInfo", ErrorMessage = "{0}已被注册")]  //在指定的Conteroller中的通道(route)中验证数据
        public string Phone { get;set;}
  
        [Display(Name = "地址")]
        [DataType(DataType.MultilineText)]
        public string Address { get;set;}
  
        [Display(Name = "电子邮箱")]
        [RegularExpression(@"(\w)+(\.\w+)*@(\w)+((\.\w+)+)",ErrorMessage = "{0}格式不正确")] //正则验证
        public string Email { get;set;}
  
        [Display(Name = "再次输入电子邮箱")]
        [Compare("Email",ErrorMessage = "{0}两次输入不一致")]  //设置比较两个字段的值
        public string EmailConfirm { get;set;}
  
        [Display(Name = "密码")]
        [DataType(DataType.Password)]
        public string Password { get;set;}
  
        [Display(Name = "备用电子邮箱")]
        [DataType(DataType.EmailAddress,ErrorMessage = "{0}格式不正确")]
        public string email_B { get;set;}
}

  远程验证的通道:

public JsonResult CheckPhone(string phone)
             {
               var result= StuInfoBll.FindPhone(phone).count == 0;
               return Json(result, JsonRequestBehavior.AllowGet);
         }

  效果:
    正常下的网页:

 

 

 

 

 

 

 

 

必须字段验证效果:

 

值范围、值类型验证效果:

 

正则验证和比较字段值效果:

 

数据类型验证效果: