①利用数据注解进行验证

②创建自定义的验证逻辑

③模型元数据注解的用法

①先创建数据源

1,创建我们的Model  Order

2,创建控制器带EF 选择模型为Order

当你运行的时候会报错,需要代码迁移    code First 更新数据库 这篇文章可解决这个问题。

3,添加,不做处理的时候,显示的是这个

②验证注解的使用

2.1自定义错误提示信息及其本地化

2.2 注解的后台原理

ASP.NET MVC 的验证特性是由模型绑定器、模型元数据、模型验证器和模型状态组成的协调系统的一部分。

1.验证和模型绑定

默认情况下,ASP.NET MVC框架在模型绑定时执行验证逻辑,在操作方法带有参数时,就会隐式地执行模型绑定。模型绑定器一旦使用新值完成对模型属性的更新,就会利用当前的模型元数据获得模型的所有验证器。模型绑定器捕获所有失败的验证规则并把它们放入模型状态中。

2.验证和模型状态

模型绑定主要的副产品是模型状态(ModelState)。模型状态不仅包含了用户想放入模型属性中的所有值,也包括与每个属性相关联的所有错误。如果在模型状态中存在错误,ModelState.IsValid就返会flase.

列如: 把LastName做了非空验证,在模型绑定之后,下面都会返回true

我们一般会使用HTML的辅助方法:

2.3.控制器操作和验证错误

控制器操作决定了在模型验证失败和验证成功时的执行流程。在验证成功时,操作通常会执行必要的步骤来保存或跟新信息。

2.4.自定义验证逻辑

①将验证逻辑封装在自定义的数据注解中 (可以在多个模型中重用逻辑)

②将验证逻辑封装在模型对象中

2.4.1 自定义注解

所有的验证注解(Required和Range)特性最终都派生基类 ValidationAttribute,它是个抽象类,在命名空间System.ComponentModel.DataAnnotaions中。

2.4.2 IValidatableObject

2.5 Display    改变现实字段

2.6 ScaffoldColumn

2.7 DisplayFormat

2.8 ReadOnly

2.9 DataType

2.10 HiddenInput

在命名空间 System.Web.Mvc中,运行时渲染一个type属性为hidden 的输入元素。

2.11 UIHint  这个指自定义模板,后面将

转载于:https://www.cnblogs.com/Sea1ee/p/8597449.html

MVC5 数据注解和验证相关推荐

  1. MVC5中Model层开发数据注解

    ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...

  2. 第6章 数据注解 System.ComponentModel.DataAnnotations 、注解后台原理、自定义验证ValidationAttribute、IValidatableObject

    客户端验证对用户向表单中输入的数据给出一个即时反馈. 服务器验证,主要是因为来自网络的信息都是不能信任的. 一. 为验证注解订单 1 .验证注解的使用,自定义错误提示消息 数据注解特性定义在 Syst ...

  3. 独家 | 一文读懂数据质量和验证检查(附代码)

    作者:Vinod Kumar 翻译:季洋 校对:王雨桐 本文约1600字,建议阅读8分钟. 本文主要讲述关于数据质量和验证检查的实例,以及运用Apache Spark和Scala采用编码来确保数据质量 ...

  4. LightSwitch 2011 数据字段唯一性验证方案

    LightSwitch 2011 数据字段唯一性验证方案 验证单表数据的某个字段不能输入重复值 设置实体字段唯一索引 如果不写代码,那么验证只会在用户提交[保存]数据后,会提示错误,很明显这样的用户体 ...

  5. 深入了解EntityFramework——数据注解属性

    当惯例规则不符合设计需求时,我们可以使用数据注解配置打造更合适的数据库模型.本文根据示例项目对常用的数据注解属性做一个简要的举例说明. EFCodeFirst使用的约定大于配置的的编程模式, 这种模式 ...

  6. SLCP验厂辅导,SLCP数据收集和验证工具整合成在线格式的托管平台来完成

    SLCP是独立于SAC的另外一个机构,但是SLCP和SAC之间又有密切的合作关系.SLCP本身只是一个行业标准,但是SLCP没有开发自己的IT平台,也没有自己的对验证机构的认可/授信团队,所以他们寻求 ...

  7. 大话卫星导航中的信号处理系列文章——GPS信号L1频点的中频数据生成与验证

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 大话卫星导航中的信号处理系列文章--GPS信号L1频点的中频数据生成与验证 需求 扩频码的生成 其他 验证 需求 这篇文章,主要记录我 ...

  8. Innovus——数据准备和验证

    目录 序言 数据准备 时序库(Timing Library) 物理库(Physical Library) 网表(Verilog Netlist) 时序约束(Timing Constraints) RC ...

  9. 数据的正态分布验证和方差齐性检验

    在对数据进行统计分析之前,应该先查看数据的特征,然后根据其特征选择分析方法. 很多统计假设方法要求数据是符合正态分布的和方差齐性. 1.数据的正态分布验证: 夏皮罗-威尔克(Shapiro-Wilk) ...

最新文章

  1. 作者:季统凯(1972-),男,博士,中国科学院云计算产业技术创新与育成中心研究员...
  2. MathType使用中的四个小技巧
  3. 动画函数优化,为任意元素添加任意多个属性
  4. 数据库事务必须具备的特性:ACID【转】
  5. 《Cracking the Coding Interview》——第8章:面向对象设计——题目9
  6. matlab信号系统响应实验,信号与系统实验(MATLAB版) (1)
  7. 各种学习资料库,非常好的收藏汇总!!!!!
  8. 2021年深度学习哪些方向比较新颖,处于上升期或者朝阳阶段,比较有研究潜力?...
  9. 如何修改图片大小?图片怎么调整尺寸?
  10. Android 放大镜效果实现原理
  11. Python课堂作业(用于复习)
  12. 下载优酷视频 基于python2
  13. intel(R)wireless-ac 9462感叹号,WLAN消失,电脑连不上网解决办法
  14. 如何做一个基于python校园运动场地预约系统毕业设计毕设作品(Django框架)
  15. 花了一些力气研究aircv,搞一个后台找图识图的DEMO
  16. Windows计划任务不生效排错
  17. [搜索算法]三分搜索初步
  18. 做一个优秀的时间管理者
  19. 未来的两马之争,马化腾如何才能打赢马云?
  20. shell下从1加到100

热门文章

  1. python-03 爬虫相关
  2. 第三章JavaScript 内置对象
  3. 高并发,分布式系统要点
  4. 类的继承私有成员问题
  5. ConcurrentHashMap中的2的n次方幂上舍入方法
  6. 一名游戏开发者的告白
  7. Struts2理解——转发和重定向
  8. vue router返回上一页
  9. django form choice
  10. Android -- 处理ViewPager的notifyDataSetChanged无刷新