zoukankan      html  css  js  c++  java
  • 数据注解与验证

       1、首先要了解为什么要进行服务器端验证。要清楚,来自的网络的信息都是不能信任的。

       2、虽然后台可以验证,但是并没有前端那么好的体验效果或者方便。

       3、综合前面利弊,MVC的框架可以帮助处理这些琐事。

       4、了解MVC数据注解相关内容。

            一般特性:

           Required,该特性指的是当属性类型的值是null或空时,Required特性将引发的验证错误,用法如 [required]

           StringLength,该特性指的是当属性类型的值是属性的长度超过了设置值,将引发验证错误,用法如 [StringLength(160,MininumLength=3)], 这里设置了最大长度,也设置了最小长度。

           Range,该特性指的是当属性类型的值的最大值和最小值,用法如[Range(5,30)]

           特殊使用:

           Remote,该特性可以利用服务器端的回调函数执行客户端的验证逻辑。用法如

           [Romote("CheckUserName","Account")]

            public string UserName{get;set;}

            控制器里写Remote的CheckUserName代码

            public JsonResult CheckUserName(string username)

            {

            var result=Membership.FindUsersByName(username).Count==0;

            return Json(result,JsonRequestBehavior.AllowGet);

            }  

            Compare,该特性主要用于确保模型对象的两个属性拥有相同的值。避免顾客输入错误,往往要求输入两次e-mail地址,用法如

            [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;}

       5、现在问题来了,如何设置任性话的提示信息呢,这里MVC人性化的设置了ErrorMessage属性来设定特性的错误信息,ErrorMessage是每个

            验证特性中用来设置错误提示消息的参数名称,事例用法如下:

            [Required(ErrorMessage="Your last name is required")]

            [StringLength(160,ErrorMessage="LastName is too long")]

            public string LastName{get;set;}

           

          

               

  • 相关阅读:
    递归的小实例
    try-catch-finally实例
    集合的排序(正序,倒序,从大到小排序)
    数组的排序(sort和冒泡)
    拦截器的使用,不登录用户不能进行其他操作
    把日志从数据库导出到Excel表格中(poi)
    Java 对Excel进行导入操作
    java 面试题集锦
    端口被占用解决办法
    (转)Java 最常见的 200+ 面试题汇总
  • 原文地址:https://www.cnblogs.com/xiatianoo/p/6234013.html
Copyright © 2011-2022 走看看