MVC中的数据注解和验证
- 数据注解和验证
用户输入验证在客户端浏览器中需要执行验证逻辑. 在客户端也需要执行.
注解是一种通用机制, 可以用来向框架注入元数据, 同时, 框架不只驱动元数据的验证, 还可以在生成显示和编辑模型的 HTML 标记时使用元数据.
- 为验证注解订单
应用程序使用 HTML 辅助方法 EditorForModel 来构建结算页面. EditorForModel 辅助方法为模型对象的每个属性构建一个编辑器, 生成表单.
- 验证注解的使用
数据注解特性定义在名称空间 System.ComponentModel.DataAnnotations 中(有些例外). 他们提供了服务器端验证的功能, 当在模型的属性上使用这些特性时, 框架也支持客户端验证. 在名称空间 DataAnnotations 中, 有4个特性可以用来应付一般的验证场合:
[Required]
[StringLength]
[RegularExpression]
[Range]
System.Web.Mvc 中额外添加了两个验证特性:
Remote 特性
Compare 特性
- 自定义错误提示消息及其本地化
- 注解的后台原理
- 控制器操作和验证错误
- 自定义验证逻辑
- 自定义注解
- IValidatableObject
一个模型对象可以通过实现 IValidatableObject 接口来实现对自身的验证.
- 显示和编辑注解
- Display
Display 特性可为模型属性设置友好的"显示名称".
- ScaffoldColumn
ScaffoldColumn 特性可以隐藏 HTML 辅助方法渲染的一些特性.
- DisplayFormat
通过命名参数, DisplayFormat 特性可以用来处理属性的各种格式化选项.
- ReadOnly
如果需要确保默认的模型绑定器不使用请求中的新值来更新属性, 可在属性上添加 ReadOnly 特性.
- DataType
DataType 特性可为运行时提供关于属性的特定用途信息.
- UIHint
UiHint 特性给 ASP.NET MVC 运行时提供了一个模板名称, 以备调用模板辅助方法渲染输出时使用.
- HiddenInput
HiddenInput 在名称空间 System.Web.Mvc 中, 它可以告知运行时渲染一个 type 特性值为"hidden"的输入元素.
MVC中的数据注解和验证的更多相关文章
- asp.net mvc常用的数据注解和验证以及entity framework数据映射
终于有时间整理一下asp.net mvc 和 entity framework 方面的素材了. 闲话少说,步入正题: 下面是model层的管理员信息表,也是大伙比较常用到的,看看下面的代码大伙应该不会 ...
- APS.NET MVC + EF (08)---数据注解和验证
对于Web开发人员来说,用户输入验证一直是一个挑战.不仅在客户端浏览器中需要执行验证逻辑,在服务器端也需要执行.如果觉得验证是令人望而生畏的繁杂琐事,ASP.NET MVC框架提供了数据注解的方式帮助 ...
- 【ASP.NET MVC系列】浅谈数据注解和验证
[ASP.NET MVC系列]浅谈数据注解和验证 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google C ...
- MVC学习手册之数据注解与验证
MVC学习手册之数据注解与验证 新建一个MVC5的WEB应用程序,VS2013会自动生成一段代码,以下是Account控制器下Register.cshtml 页面的代码: @model WebAppl ...
- ASP.NET MVC5高级编程 之 数据注解和验证
客户端验证逻辑会对用户向表单输入的数据给出一个即时反馈.而之所以需要服务器端验证,是因为来自网络的信息都是不能被信任的. 当在ASP.NET MVC设计模式上下文中谈论验证时,主要关注的是验证模型的值 ...
- MVC5 数据注解和验证
①利用数据注解进行验证 ②创建自定义的验证逻辑 ③模型元数据注解的用法 ①先创建数据源 1,创建我们的Model Order 2,创建控制器带EF 选择模型为Order 当你运行的时候会报错,需要代 ...
- 9.翻译系列:EF 6以及EF Core中的数据注解特性(EF 6 Code-First系列)
原文地址:http://www.entityframeworktutorial.net/code-first/dataannotation-in-code-first.aspx EF 6 Code-F ...
- ASP.NET MVC中对Model进行分步验证的解决方法
原文:ASP.NET MVC中对Model进行分步验证的解决方法 在我之前的文章:ASP.NET MVC2.0结合WF4.0实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个 ...
- Asp.net MVC 数据注解与验证
数据注解特性定义在名称空间System.ComponentModel.DataAnnotations中(有些特性定义在其他名称空间中),它们提供了服务器端验证的功能,当在模型的属性上使用这些特性时,框 ...
随机推荐
- PAT A 1022. Digital Library (30)【结构体排序检索】
https://www.patest.cn/contests/pat-a-practise/1022 直接模拟, 输入,按id排序,检索 #include <iostream> #incl ...
- [C++][数据结构]栈(stack)的实现
对于栈的定义,前人之述备矣. 我实现的是一个stack<value>容器类,支持push,pop,top,size,empty,clear和copy construction操作. 主要的 ...
- 反调试技术常用API,用来对付检测od和自动退出程序
在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己.为了了解如何破解反调试技术 ...
- php 冒泡排序 快速排序
$a=array('3','8','1','4','11','7'); print_r($a); $len = count($a); //从小到大 for($i=1;$i<$len;$i++) ...
- C#基础:委托
委托是C#中最为常见的内容.与类.枚举.结构.接口一样,委托也是一种类型.类是对象的抽象,而委托则可以看成是函数的抽象.一个委托代表了具有相同参数列表和返回值的所有函数.比如: delegate in ...
- python函数
一.函数: 创建函数:使用def语句 举例:定义一个返回斐波那楔数列列表的函数 def fibs(num): result = [0,1] for i in range(num-2): result. ...
- 摘要: Linux下which、whereis、locate、find命令的区别
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. which ...
- Lua模块
在lua中,我们可以直接使用require(“model_name”)来载入别的文件,文件的后缀名是.lua,载入的时候直接执行那个文件了. 比如:my.lua 文件中 print(“hello wo ...
- DateUtil工具类
package com.autoserve.mh.common.util; import java.text.SimpleDateFormat; import java.util.Calendar ...
- PHP 使用 curl_* 系列函数和 curl_multi_* 系列函数进行多接口调用时的性能对比
在页面中调用的服务较多时,使用并行方式,即使用 curl_multi_* 系列函数耗时要小于 curl_* 系列函数. 测试环境 操作系统:Windows x64 Server:Apache PHP: ...