Asp.net MVC 数据注解与验证
数据注解特性定义在名称空间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 数据注解与验证的更多相关文章
- asp.net mvc常用的数据注解和验证以及entity framework数据映射
终于有时间整理一下asp.net mvc 和 entity framework 方面的素材了. 闲话少说,步入正题: 下面是model层的管理员信息表,也是大伙比较常用到的,看看下面的代码大伙应该不会 ...
- 【ASP.NET MVC系列】浅谈数据注解和验证
[ASP.NET MVC系列]浅谈数据注解和验证 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google C ...
- MVC中的数据注解和验证
数据注解和验证 用户输入验证在客户端浏览器中需要执行验证逻辑. 在客户端也需要执行. 注解是一种通用机制, 可以用来向框架注入元数据, 同时, 框架不只驱动元数据的验证, 还可以在生成显示和编辑模型的 ...
- MVC学习手册之数据注解与验证
MVC学习手册之数据注解与验证 新建一个MVC5的WEB应用程序,VS2013会自动生成一段代码,以下是Account控制器下Register.cshtml 页面的代码: @model WebAppl ...
- asp.net mvc数据验证
文章:asp.net mvc3 的数据验证(一) 文章:ASP.NET MVC下的四种验证编程方式 这个讲了在一个地方展示验证信息 文章:[ASP.NET MVC系列]浅谈数据注解和验证 这个在每个输 ...
- ASP.NET MVC学习之模型验证篇
一.学习前的一句话 在这里要先感谢那些能够点开我随笔的博友们.慢慢的已经在博客园中度过一年半了,伊始只是将博客园作为自己学习的记录本一样使用,也不敢将自己的随笔发表到博客园首页,生怕自己的技艺不高,反 ...
- asp.net mvc中的后台验证
asp.net mvc的验证包含后台验证和前端验证.后台验证主要通过数据注解的形式实现对model中属性的验证,其验证过程发生在model绑定的过程中.前端验证是通过结合jquery.validate ...
- ASP.NET MVC学习之模型验证详解
ASP.NET MVC学习之模型验证篇 2014-05-28 11:36 by y-z-f, 6722 阅读, 13 评论, 收藏, 编辑 一.学习前的一句话 在这里要先感谢那些能够点开我随笔的博友们 ...
- MVC5 数据注解和验证
①利用数据注解进行验证 ②创建自定义的验证逻辑 ③模型元数据注解的用法 ①先创建数据源 1,创建我们的Model Order 2,创建控制器带EF 选择模型为Order 当你运行的时候会报错,需要代 ...
随机推荐
- apache 局域网访问
很多的朋友都想把自己的电脑打造为服务器使别人能够访问.比如说你自己写了一网站,只能自己通过localhost访问或127.0.0.1访问.但是怎么让别人的电脑也能访问呢?来看看自己写的网站.现在我来讲 ...
- JQuery_事件基础
JavaScript 有一个非常重要的功能,就是事件驱动.当页面完全加载后,用户通过鼠标或键盘触发页面中绑定事件的元素即可触发. jQuery 为开发者更有效率的编写事件行为, 封装了大量有益的事件方 ...
- 萝卜招聘网 http://www.it9s.com 可以发布免费下载简历求职 ,免费!免费!全部免费!找工作看过来 免费下载简历 !
萝卜招聘网 http://www.it9s.com 可以发布免费下载简历求职 ,免费!免费!全部免费!找工作看过来 免费下载简历 !萝卜招聘网 http://www.it9s.com 可以发布 ...
- Kafka 高可用设计
Kafka 高可用设计 2016-02-28 杜亦舒 Kafka在早期版本中,并不提供高可用机制,一旦某个Broker宕机,其上所有Partition都无法继续提供服务,甚至发生数据丢失对于分布式系统 ...
- openssl stack 数据结构栈基本操作
堆栈是两种不同的数据结构: 堆:数据先进先出: 栈:数据先进后观: 在stack.h 中 openssl 为我们提供了一个通用的栈,利用提供的接口我们可以方便的用此栈来存放开发中的任意数据. open ...
- MyBatis缓存禁用失败
问题:MyBatis缓存无法禁用,同一个session的select查询结果一样,但是数据库其实已改变. 尝试达到想要的目的: 1.msgmapper.xml里的select标签加上 <sele ...
- Linux下漏洞提权
Linux下的漏洞提权 linux下一般都是系统漏洞提权,分为以下几个步骤:
- html中给表格添加斜线
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- linux查找进程,查找僵死进程,查找僵死进程并自动杀掉
查找进程: ps -aux | grep flume / netstat -anop | grep 8080(端口号) 常规杀进程: kill pid 查看僵死进程: ps -A -o sta ...
- python【6】-函数式编程
一.高阶函数 map,reduce 1.map() 函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. def f(x): retur ...