MVC5 数据注解和验证

①利用数据注解进行验证

②创建自定义的验证逻辑

③模型元数据注解的用法

①先创建数据源

 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