asp.net MVC 验证注解

对于Web系统,对于用户的输入验证是必须的。不仅需要在客户端对用户的输入进行验证,在服务端也需要对用户的执行进行验证。

asp.net MVC中对于验证提供了一种注解机制。注解是一种通用机制,可以用来向框架注入元数据,同时框架不只驱动元数据的验证,还可以生产显示和编辑模型的HTML标记时使用元数据。

1.Required

Required 是MVC提供的一种注解。当属性中一个是null或空时,Required特性将会引发一个验证错误。

[Required(ErrorMessage="")]

2.StringLength

StringLength特性能够验证用户输入字段的长度,控制字段的长度在一定范围内。如果超过规定的范围,就会引发异常。

[StringLength(50,MinimumLength=3)]

3.RegularExpression

RegularExpression特性能够对用户的输入进行正则表达式的验证。正则表达式是一种检查字符串格式和内容的简洁有效验证方式。下面正则表达式能够有效验证email地址。

[RegularExpression(@"[A-Za-z0-9._%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}")]

4.Range

Range特性能够指定数值类型的最小值和最大值。该特性的第一个参数设置最小值。第二个参数设置最大值。Range既可以设置int类型,也可以设置成double类型。

[Range(5,15)]

5.System.Web.Mvc

MVC中提供了两个验证特性,分别是Remote和Compare特性。

Remote特性可以利用服务器端的回调函数执行客户端的验证逻辑。比如验证输入的名称是否已经存在,在客户端验证很难保证字段的唯一性。

[Remote("CheckName","User")]

CheckName 是 User控制器中的方法。

Compare特性,它用于确保模型中的两个属性拥有相同的值。比如在修改密码的时候,需要两次输入密码。

[Compare("Password")]

public String ConfirmPassword{get;set;}

ErrorMessage 可以为注解添加自定义的错误消息提示。

时间: 2024-09-28 14:51:51

asp.net MVC 验证注解的相关文章

ASP.NET MVC验证框架中关于属性标记的通用扩展方法

http://www.cnblogs.com/wlb/archive/2009/12/01/1614209.html 之前写过一篇文章<ASP.NET MVC中的验证>,唯一的遗憾就是在使用Data Annotation Validators方式验证的时候,如果数据库是Entityframework等自动生成的文件,就没有办法使用扩展属性标记进行标记.现在已经开始有了一些其它的Asp.net MVC 验证框架,使用上跟Data Annotation Validators差不太多,但是普遍有这样

ASP.NET MVC验证标注的扩展-checkbox必选

我们知道ASP.NET mvc提供一些表单的验证标注,比如必填属性RequiredAttribute 但是这个属性不适合选择框的必选 但是很多时候,我们却是需要一些必选的单选框 比如网站注册的时候,需要用户同意网站的一些规定等等 为此,我封装了一个BooleanRequiredAttribute的标注类, 该类可以标注那些框必填 具体类如下: public class BooleanRequiredAttribute : ValidationAttribute, IClientValidatab

ASP.NET MVC 的注解

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.ComponentModel.DataAnnotations;using System.Web.Mvc; namespace 注解的应用.Models{ public class User { [HiddenInput(DisplayValue = false)] //[ScaffoldColumn(false

ASP.NET MVC验证 - jQuery异步验证

本文主要体验通过jQuery异步验证. 在很多的教材和案例中,MVC验证都是通过提交表单进行的.通过提交表单,可以很容易获得验证出错信息.因为,无论是客户端验证还是服务端验证,总能找到与Model属性或验证特性对应的html元素和属性,并把错误信息显示出来.可是,在实际项目中,经常会遇到需要异步提交的情况.那么,如何把服务端的验证错误信息传递给前端视图呢? □ 思路 1.服务端的验证错误信息是可以收集起来的以json形式传递个视图的.2.服务端把错误信息存放在一个字典集合Dictionary<s

Asp.net MVC 数据注解与验证

数据注解特性定义在名称空间System.ComponentModel.DataAnnotations中(有些特性定义在其他名称空间中),它们提供了服务器端验证的功能,当在模型的属性上使用这些特性时,框架也支持客户端验证. 常用特性 1.Required --必填字段示例:[Required]2.StringLength --字符长度限制示例:[StringLength(16,MinimumLength=3)]3.RegularExpression --正则表达式验证示例:[RegularExpr

ASP.NET MVC验证 - 自定义验证规则、验证2个属性值不等【待验证】

提示:保存后才提示错误信息 自定义验证特性,继承ValidationAttribute并实现IClientValidatable 这次重写了基类的IsValid()方法的另外一个重载,因为该重载包含了验证上下文ValidationContext,从中可以获取属性及属性值. using System.ComponentModel.DataAnnotations; using System.Globalization; using System.Web.Mvc; namespace MvcValid

asp.net mvc验证总结(转)

ASP.NET MVC3中的Model是自验证的,这是通过.NET4的System.ComponentModel.DataAnnotations命名空间完成的. 我们要做的只是给Model类的各属性加上对应的验证标记(Attributes)就可以让MVC3框架帮我们完成验证.我以MVC3项目模板自带的登录 做例子讲解Model的验证. 一.启用客户端验证: 客户端验证主要是为了提高用户体验,在网页不回刷的情况下完成验证. 第一步是要在web.config里启用客户端验证,这在MVC3自带的模板项

数据注解和验证 &ndash; ASP.NET MVC 4 系列

       不仅在客户端浏览器中需要执行验证逻辑,在服务器端也需要执行.客户端验证能即时给出一个错误反馈(阻止请求发送至服务器),是时下 Web 应用程序所期望的特性.服务器端验证,主要是因为来自网络的信息都是不可信任的.        当在 ASP.NET MVC 设计模式上下文中谈论验证时,主要关注的是验证模型的值.ASP.NET MVC 验证特性可以帮助我们验证模型值,且这样验证特性是可扩展的,所以我们可以采用任意想要的方式构建验证模式,默认方法是一种声明式验证,即数据注解特性.    

【ASP.NET MVC系列】浅谈ASP.NET MVC资源过滤和授权

最近比较忙,博客很久没更新了,很多博友问何时更新博文,因此,今天就花了点时间,写了本篇文章,但愿大家喜欢. 本篇文章不适合初学者,需要对ASP.NET MVC具有一定基础. 本篇文章主要从ASP.NET MVC 基架角度去分析MVC框架是如何实现资源过滤,资源授权,感兴趣的,欢迎阅读. 相关文章,请参与ASP.NET MVC系列 一 ASP.NET MVC框架验证机制 为了更加透彻地了解MVC的过滤机制,我简要地画了如下UML图. 下面,我们根据如上的UML图来简要分析一下. (一)MVC基架过