Using Validation Annottions 使用验证

简介: You can use four attributes in the DataAnnotations namespace to cover common validation scenarios. Required    特性 Like all the built-in validation a...

You can use four attributes in the DataAnnotations namespace to cover common validation scenarios.

Required    特性

Like all the built-in validation attributes,the Required attribute delivers both server-side and client-side  validation logic(alothough internally,it is another component in the MVC framework that delivers the client-side validation logic for the attribute through a validation adapter design).

Required 特性是服务器端和客户端同时存在的,即使用户禁用了javascript,但是服务器的验证也是会起作用的。

2.StringLength  字符串长度

MinimumLength表示的是字符串的最小长度

3.RegularExpression 正则表达式 

4.Range 

The Range attribute specifies minimum and maximum constraints for a numerical value.The first parameter to the attribute is the minimum value,and the second parameter is the maximum value.The values are incluse(包含).就是说Range特性是包含那两个参数值的。

上面的四个验证来自System.ComponentModel.DataAnnotations  命名空间

下面介绍两个来自System.Web.Mvc命名空间中的验证特性

Remote特性  可以用来进行客户端与服务器的动态交互

服务器端会返回包含true或false的json数据

The second attribute is Compare.  这时用来比较一个输入的值是否和另外一个输入的值相同的特性。

对于每一个验证出错都会有对应的 出错信息,这个信息在所有的验证中都是可以自己定制的。并且可以进行错误信息的本地化操作。

 

The validation features of Asp.net MVC are part of a coordinate system involving model binders,model metadata,model validators  and model state.

By default,the asp.net MVC framework executes validation logic during model binding.MVC框架执行数据验证是在Model Binding 即 数据绑定的时候。或者说是模型绑定的时候。

The model binder catches all the failed validation rules and places them into model state.

Model  State  模型状态 是个值得研究的东西,因为他包含了错误信息,以及出现错误的值

ModelState.IsValid 表示当前有效

可以自己定义需要的验证特性,只需要让他继承自ValidationAttribute特性即可在任何你想使用的地方使用该特性进行验证。

Display Attribute  

The Display attribute sets the friendly “display name”   for a model property.You can use the Display attribute to fix the label for the FirstName field.

ScaffordColumn  

The ScaffoldColumn attribute hides a property from HTML helpers such as EditorForModel and DisplayForModel.

DisplayFormat  表示的是对数值的格式化操作  要使该特性有效,必须使ApplyFormatInEditModel有效

DataType 表示的数值的类型 例如:[DataType(DataType.Password)]  表示一个密码

UIHint attribute

The UIHint attribute gives the asp.net MVC runtime the name of template to use when rendering output with the template helpers(like DisplayFor  and EditorFor).You can define your own template helpers to override the default MVC behavior.

HiddenInput  attribute

The HiddenInput attribute lives in the System.Web.Mvc namespace and tells the runtime to render an input element with a type of ‘hidden’.

以上这些就是在Model验证中的特性类,以后我会逐个的分析每个特性的用处。

 

 

我又回来了,回到了技术最前线,
相关文章
|
Java 数据安全/隐私保护 Spring
使用javax.validation.constraints校验参数合法性
以上就是javax.validation.constraints的基本用法和高级应用。通过掌握这个强大的校验框架,我们可以轻松地为Java项目实现数据校验功能,从而提高代码的健壮性和可维护性。
819 0
|
5月前
|
XML 前端开发 Java
SpringBoot参数校验@Validated、@Valid(javax.validation)详解
SpringBoot参数校验@Validated、@Valid(javax.validation)
695 4
|
6月前
使用Hibernate-Validate进行参数校验
使用Hibernate-Validate进行参数校验
75 3
|
前端开发
DRF--验证器
DRF--验证器
|
前端开发 Java Spring
更简洁的参数校验,使用 SpringBoot Validation 对参数进行校验
在开发接口时,如果要对参数进行校验,你会怎么写?编写 if-else 吗?虽然也能达到效果,但是不够优雅。 今天,推荐一种更简洁的写法,使用 SpringBoot Validation 对方法参数进行校验,特别是在编写 Controller 层的方法时,直接使用一个注解即可完成参数校验。
342 0
更简洁的参数校验,使用 SpringBoot Validation 对参数进行校验
|
JSON 前端开发 Java
Spring Validation参数效验各种使用姿势
在日常的项目开发中,为了防止非法参数对业务造成的影响,需要对接口的参数做合法性校验,例如在创建用户时,需要效验用户的账号名称不能输入中文与特殊字符,手机号、邮箱格式是否准确。
5017 7
|
Java
Springboot + Validation整合校验教程
Springboot + Validation整合校验教程
130 0
艾伟:也谈实体验证(Entity Validation)
环境: Windows 2008, VS 2008 SP1, Asp.Net Mvc 1.0 ------------------------------------------------------------------------------ 今晚喝茶看片之时,脑子里忽然闪过一个念头,于是打开VS简单的做了一个实现,于是有了本文...是关于实体验证的,嗯,从头开始说吧。
869 0
|
Java 数据库连接 API
Bean Validation 介绍及最佳实践
关于 Bean Validation 在任何时候,当你要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情。 应用程序必须通过某种手段来确保输入进来的数据从语义上来讲是正确的。
1418 0