数据注解和验证

Posted Sealee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据注解和验证相关的知识,希望对你有一定的参考价值。

①利用数据注解进行验证

②创建自定义的验证逻辑

③模型元数据注解的用法

 

①先创建数据源

 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  这个指自定义模板,后面将

 

以上是关于数据注解和验证的主要内容,如果未能解决你的问题,请参考以下文章

数据注解与验证

06数据验证

Asp.net MVC 数据注解与验证

8.1 自定义验证属性

SpringBoot08 请求方式参数获取注解参数验证前后台属性名不一致问题自定义参数验证注解BeanUtils的使用

JSR303数据校验常用注解