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

           

          

               

  • 相关阅读:
    蓝牙的发展史及版本演进
    linux下tar.bz2文件的 解压缩方法
    一个简单的C语言题背后的故事
    thinkpad的E480安装ubuntu后wifi无法使用问题解决
    Linux 上的常用文件传输方式介绍与比较
    一个linux内核编译时遇到的perl语法导致的编译问题解决
    自省是最好的导师
    ....................................thinkpad E480 用户初体验..............................
    使用diskpart命令格式化U盘
    了解甚少的GNU C的__attribute__ 机制
  • 原文地址:https://www.cnblogs.com/xiatianoo/p/6234013.html
Copyright © 2011-2022 走看看