数据注解特性定义在名称空间System.ComponentModel.DataAnnotations中(有些特性定义在其他名称空间中),它们提供了服务器端验证的功能,当在模型的属性上使用这些特性时,框架也支持客户端验证。

常用特性

1、Required --必填字段
示例:[Required]
2、StringLength --字符长度限制
示例:[StringLength(16,MinimumLength=3)]
3、RegularExpression --正则表达式验证
示例:[RegularExpression(@"")]
4、Range --指定数值类型值的最小值和最大值
示例:[Range(typeof(decimal),"0.00","99.99")]
System.Web.Mvc下的验证特性
5、Remote特性 --唯一值验证(比如:身份证号/驾驶证号等)
示例:[Remote("ControllerName","ActionName")]
6、Compare --确保模型对象的两个属性拥有相同的值(比如,设置密码,确认密码)
示例:[Compare("")]
7、Display --在视图上显示友好的“名称”
示例:[Display(Name="",Order=3)]
Order用于控制属性在视图上的显示次序
8、ScaffoldColumn
EditorForModel和DisplayForModel辅助方法将不再为属性显示输入元素和label标签。
示例:[ScaffoldColumn(false)]
注意事项:如果模型绑定器在请求中看到匹配的值,那么仍然会为UserName属性赋值。
9、DisplayFormat
可以用来处理属性的各种格式化选项。
示例:[DisplayFormat(ApplyFormatInEditMode=true,DataFormatString="{0:c}")]
10、ReadOnly
确保默认的模型绑定器不使用请求中的新值更新指定属性
示例:[ReadOnly(true)]
注意事项:EditorForModel辅助方法仍然会为Total属性显示一个可用的输入元素。只有模型绑定器考虑ReadOnly特性。
11、DataType
示例:[DataType(DataType.Password)]
HTML编辑器辅助方法渲染出一个type特性值为password的输入元素,其他数据类型还有Currency、Date、Time和MultilineText
12、HiddenInput
渲染一个type特性值为hidden的输入元素

每个验证特性都允许传递一个带有自定义错误提示消息的参数

例如: [Required(ErrorMessage="")]

   [StringLength(16,ErrorMessage="")]

国际化: [Required(ErrorMessageResoureType=typeof(ErrorMessages),ErrorMessageResourceName="LastNameRequired")]

    [StringLength(16,ErrorMessageResoureType=typeof(ErrorMessages),ErrorMessageResourceName="LastNameTooLong")]

这里假设项目中有名为ErrorMessages.resx的资源文件,并且包含LastNameRequired和LastNameTooLong条目。 使用本地化的资源文件,需要将当前线程的UICulture属性设置为相应的语言。

Asp.net MVC 数据注解与验证的更多相关文章

  1. asp.net mvc常用的数据注解和验证以及entity framework数据映射

    终于有时间整理一下asp.net mvc 和 entity framework 方面的素材了. 闲话少说,步入正题: 下面是model层的管理员信息表,也是大伙比较常用到的,看看下面的代码大伙应该不会 ...

  2. 【ASP.NET MVC系列】浅谈数据注解和验证

    [ASP.NET MVC系列]浅谈数据注解和验证   [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google C ...

  3. MVC中的数据注解和验证

    数据注解和验证 用户输入验证在客户端浏览器中需要执行验证逻辑. 在客户端也需要执行. 注解是一种通用机制, 可以用来向框架注入元数据, 同时, 框架不只驱动元数据的验证, 还可以在生成显示和编辑模型的 ...

  4. MVC学习手册之数据注解与验证

    MVC学习手册之数据注解与验证 新建一个MVC5的WEB应用程序,VS2013会自动生成一段代码,以下是Account控制器下Register.cshtml 页面的代码: @model WebAppl ...

  5. asp.net mvc数据验证

    文章:asp.net mvc3 的数据验证(一) 文章:ASP.NET MVC下的四种验证编程方式 这个讲了在一个地方展示验证信息 文章:[ASP.NET MVC系列]浅谈数据注解和验证 这个在每个输 ...

  6. ASP.NET MVC学习之模型验证篇

    一.学习前的一句话 在这里要先感谢那些能够点开我随笔的博友们.慢慢的已经在博客园中度过一年半了,伊始只是将博客园作为自己学习的记录本一样使用,也不敢将自己的随笔发表到博客园首页,生怕自己的技艺不高,反 ...

  7. asp.net mvc中的后台验证

    asp.net mvc的验证包含后台验证和前端验证.后台验证主要通过数据注解的形式实现对model中属性的验证,其验证过程发生在model绑定的过程中.前端验证是通过结合jquery.validate ...

  8. ASP.NET MVC学习之模型验证详解

    ASP.NET MVC学习之模型验证篇 2014-05-28 11:36 by y-z-f, 6722 阅读, 13 评论, 收藏, 编辑 一.学习前的一句话 在这里要先感谢那些能够点开我随笔的博友们 ...

  9. MVC5 数据注解和验证

    ①利用数据注解进行验证 ②创建自定义的验证逻辑 ③模型元数据注解的用法 ①先创建数据源 1,创建我们的Model  Order 2,创建控制器带EF 选择模型为Order 当你运行的时候会报错,需要代 ...

随机推荐

  1. yii2 renderPartial

    在 views/news/_copyright.php 中插入以下代码: <div> This is text about copyright data for news items &l ...

  2. a标签的作用

    a标签的hover,active,target,visited等伪类在所有浏览器中是兼容的,而其他元素的这些伪类并不全兼容:   a标签本身是跳转页面的,把跳转的地址写在href这个属性中, (1)不 ...

  3. fiddler_技巧01

    1.选择一个包后,要点击 "Inspectors"标签页 才能有"Raw"标签页 才能看到原始的详细信息 2. 3. 4. 5.

  4. Android UiAutomator快速调试

    在测试类中添加主函数 public static void main(String[] args){ String jarName,testClass, testName,androidId; jar ...

  5. zend studio 10破解/汉化

    http://blog.csdn.net/qq1355541448/article/details/16807429

  6. redsocks 将socks代理转换成全局代理

    redsocks 需要手动下载编译.前置需求为libevent组件,当然gcc什么的肯定是必须的. 获取源码 git clone https://github.com/darkk/redsocks 安 ...

  7. 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion

    对这几个概念模模糊糊,看到一篇文章就记录下来. 当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本.这对你的应用意味着什么,所有东西都不能用了?别担心 ...

  8. Lander-Waterman model

    参考: Lander-Waterman Model 这个模型是鸟枪法测序和基因组装的最基本的理论模型,它揭示了测序深度与覆盖度之间的关系. 该模型回答了一个最基本的问题:How many reads ...

  9. ios中的http:get,post,同步,异步

    一.服务端 1.主要结构:

  10. Linux中修改环境变量导致大量命令不可用的解决办法

    如果搞死环境变量别慌张.因为ls等命令都不能使用了,所以先找到/usr/bin/目录 使用./sudo su命令获取root权限 然后在进入/etc目录 利用vim profile命令 修改profi ...