MVC4数据注解和验证

5 篇文章 0 订阅

原文地址: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);
          }

  效果:
    正常下的网页:

 

 

 

 

 

 

 

 

必须字段验证效果:

 

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

 

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

 

数据类型验证效果:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值