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

对于Web系统,对于用户的输入验证是必须的.不仅需要在客户端对用户的输入进行验证,在服务端也需要对用户的执行进行验证. asp.net MVC中对于验证提供了一种注解机制.注解是一种通用机制,可以用来向框架注入元数据,同时框架不只驱动元数据的验证,还可以生产显示和编辑模型的HTML标记时使用元数据. 1.Required Required 是MVC提供的一种注解.当属性中一个是null或空时,Required特性将会引发一个验证错误. [Required(ErrorMessage=""…
上篇文章Asp.net MVC验证那些事(1)-- 介绍和验证规则使用中,介绍了Asp.net MVC中的验证功能以及如何使用.这里将对MVC中内置的验证规则进行总结. 一,查找所有验证规则 上篇文章中提到,所有的验证规则都是位于下面的命名空间下: using System.ComponentModel.DataAnnotations; 我们可以用ILSpy反编译工具,看看这个命名空间下都有些什么. 下面的图让我们一目了然,在这个命名空间下,.net为我们提供了那些验证规则. 不过,有三点需要注…
在项目的实际使用中,MVC默认提供的Validation Attribute往往不够用,难以应付现实中复杂多变的验证需求.比如, 在注册用户的过程中,往往需要用户勾选”免责声明”,这个checkbox往往是必填项,但是MVC中并没有提供对于checkbox必选的验证.这篇文章通过解决checkbox必选验证的问题,看看如何在MVC中定义自己的自定义验证属性. 阅读目录: 一. CheckBox必选验证的困局 二. 对于服务端ValidationAttribute的实现分析 三. 自定义Enfor…
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验证那些事(1)-- 介绍和验证规则使用 -----原文地址链接 数据的有效性验证,是程序开发中必不可少的环节.这篇文章,我们将用一个实例来说明如何在MVC中使用Validation来保证无论是新增或者更新数据的时候,都必须符合我们定义的验证规则,否则就会提示错误. 一, DRY原则 DRY是Don’t repeat yourself的缩写,意思是不要写重复的代码.MVC中的Validation设计就是遵循了这个原则. 比如下面中的Movie类, 当用户在网页上填写Movi…
表单中的输入项,有些是固定的,不变的验证规则,比如字符长度,必填等.但有些是动态的,比如注册用户名是否存在这样的检查,这个需要访问服务器后台才能解决.这篇文章将会介绍MVC中如何使用[RemoteAttribute]来解决这类验证需求,同时会分析[RemoteAttribute]的不足,以及改进的方法. 本文相关的源代码在这里 MVC-Remote-Validation.zip 一, RemoteAttribute验证使用 如果需要用户把整个表单填完后,提交到后台,然后才告诉用户说,“你注册的用…
我们知道ASP.NET mvc提供一些表单的验证标注,比如必填属性RequiredAttribute 但是这个属性不适合选择框的必选 但是很多时候,我们却是需要一些必选的单选框 比如网站注册的时候,需要用户同意网站的一些规定等等 为此,我封装了一个BooleanRequiredAttribute的标注类, 该类可以标注那些框必填 具体类如下: public class BooleanRequiredAttribute : ValidationAttribute, IClientValidatab…
这里我们采用asp.net mvc 自带的AuthorizeAttribute过滤器验证用户的身份,也可以使用自定义过滤器,步骤都是一样. 第一步:创建asp.net mvc项目, 在项目的App_Start文件夹下面有一个FilterConfig.cs,在这个文件中可以注册全局的过滤器.我们在文件中添加AuthorizeAttribute过滤器如下: public class FilterConfig { public static void RegisterGlobalFilters(Glo…
本文主要体验通过jQuery异步验证. 在很多的教材和案例中,MVC验证都是通过提交表单进行的.通过提交表单,可以很容易获得验证出错信息.因为,无论是客户端验证还是服务端验证,总能找到与Model属性或验证特性对应的html元素和属性,并把错误信息显示出来.可是,在实际项目中,经常会遇到需要异步提交的情况.那么,如何把服务端的验证错误信息传递给前端视图呢? □ 思路 1.服务端的验证错误信息是可以收集起来的以json形式传递个视图的.2.服务端把错误信息存放在一个字典集合Dictionary<s…
数据注解特性定义在名称空间System.ComponentModel.DataAnnotations中(有些特性定义在其他名称空间中),它们提供了服务器端验证的功能,当在模型的属性上使用这些特性时,框架也支持客户端验证. 常用特性 1.Required --必填字段示例:[Required]2.StringLength --字符长度限制示例:[StringLength(16,MinimumLength=3)]3.RegularExpression --正则表达式验证示例:[RegularExpr…
数据的有效性验证,是程序开发中必不可少的环节.这篇文章,我们将用一个实例来说明如何在MVC中使用Validation来保证无论是新增或者更新数据的时候,都必须符合我们定义的验证规则,否则就会提示错误. 一, DRY原则 DRY是Don’t repeat yourself的缩写,意思是不要写重复的代码.MVC中的Validation设计就是遵循了这个原则. 比如下面中的Movie类, 当用户在网页上填写Movie信息的时候,并保存的数据库中的时候, 由于Title是我们期望的必填项,所以: 1.…
提示:保存后才提示错误信息 自定义验证特性,继承ValidationAttribute并实现IClientValidatable 这次重写了基类的IsValid()方法的另外一个重载,因为该重载包含了验证上下文ValidationContext,从中可以获取属性及属性值. using System.ComponentModel.DataAnnotations; using System.Globalization; using System.Web.Mvc; namespace MvcValid…
今天碰到一个Bug,在IE8中,日期验证失效,输入正确的日期格式也会验证失败,提示:xxx必须是日期格式(the field xxx must be a date) 最终找到问题所在:jquery.validate.js // http://docs.jquery.com/Plugins/Validation/Methods/date date: function( value, element ) { return this.optional(element) || !/Invalid|NaN…
1.实现代码: /// <summary> /// 验证所有属性是否合法 /// </summary> /// <param name="modelState"></param> /// <returns></returns> public string GetValidMsg(ModelStateDictionary modelState) { StringBuilder sb = new StringBuild…
没什么好讲的,上代码: (function ($) { var defaultOptions = { validClass: 'has-success', errorClass: 'has-error', highlight: function (element, errorClass, validClass) { $(element).closest(".form-group") .removeClass(validClass) .addClass(errorClass); }, u…
       不仅在客户端浏览器中需要执行验证逻辑,在服务器端也需要执行.客户端验证能即时给出一个错误反馈(阻止请求发送至服务器),是时下 Web 应用程序所期望的特性.服务器端验证,主要是因为来自网络的信息都是不可信任的.        当在 ASP.NET MVC 设计模式上下文中谈论验证时,主要关注的是验证模型的值.ASP.NET MVC 验证特性可以帮助我们验证模型值,且这样验证特性是可扩展的,所以我们可以采用任意想要的方式构建验证模式,默认方法是一种声明式验证,即数据注解特性.    …
Asp.Net MVC 3   wcf基础教程之 契约(合同)Contract 摘要: 在前几篇博客中我有说到服务的寄宿,就是服务要运行起来必须采取的几种方式,相当于我们可以照葫芦画瓜的效果运行一个wcf服务,但是那只是实践,我们知其然更要知其所以然,所以从今天开始我们开始介绍wcf的三大部分:契约.绑定以及服务.当然这其中会有很多的细节问题,比如说终结点等等,我们穿插着进行.今天就先来预习一下契约,也称为合同(Contract).wcf的契约一共包括几种:数据契约.服务契约.消息契约.错误契约…
最近比较忙,博客很久没更新了,很多博友问何时更新博文,因此,今天就花了点时间,写了本篇文章,但愿大家喜欢. 本篇文章不适合初学者,需要对ASP.NET MVC具有一定基础. 本篇文章主要从ASP.NET MVC 基架角度去分析MVC框架是如何实现资源过滤,资源授权,感兴趣的,欢迎阅读. 相关文章,请参与ASP.NET MVC系列 一 ASP.NET MVC框架验证机制 为了更加透彻地了解MVC的过滤机制,我简要地画了如下UML图. 下面,我们根据如上的UML图来简要分析一下. (一)MVC基架过…
终于有时间整理一下asp.net mvc 和 entity framework 方面的素材了. 闲话少说,步入正题: 下面是model层的管理员信息表,也是大伙比较常用到的,看看下面的代码大伙应该不会陌生, 在此Model上我们用到了asp.net mvc的数据注解和验证,entity framework对数据库的映射 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi…
[01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈ASP.NET MVC 视图 [09]浅谈ASP.NET MVC 视图与控制器传递数据 [10]浅谈jqGrid 在ASP.NET MVC中增删改…
[ASP.NET MVC系列]浅谈数据注解和验证   [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈ASP.NET MVC 视图 [09]浅谈ASP.NET MVC 视图与控制器传递数据 [1…
一.添加模型 public class Account { public int ID { get; set; } [Display(Name = "姓名")] //设置要显示的字段名 [Required(ErrorMessage = "您需要填写{0}")] //设置为必须字段 已经错误提示 [StringLength(, MinimumLength = )] //设置最大长度和最小长度 public string Name { get; set; } [Disp…
验证注解的使用 1.Required:必须字段 [Required] public string FirstName() { get; set; } 2.StringLength:长度限制,或是可选项,最小3个字符 [Required] [StringLength(50,MinmumLength=3)] public string FirstName() { get; set; } 3.RegularExpression:使用正则表达式 4.Range:指定数值类型的最小值和最大值,(包含在内)…
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 模型就是处理业务,想要保存.创建.更新.删除的对象. 注解(通过特性实现) DisplayName Required StringLength(20,MinimumLength=2) DataType(System.ComponentModel.DataAnnotations.DataType.MultilineText) RegularExpression(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-…
在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS 验证,但是如果是团队项目,为了达到代码的统一还是调用统一的 表单验证方式 比较合适.下面介绍在 ASP.NET MVC中结合Jquery Validate 进行表单验证的方式.首先推荐一篇关于Jquery Validate 如何使用的博文,写的很详细.http://www.cnblogs.com/…
一.学习前的一句话 在这里要先感谢那些能够点开我随笔的博友们.慢慢的已经在博客园中度过一年半了,伊始只是将博客园作为自己学习的记录本一样使用,也不敢将自己的随笔发表到博客园首页,生怕自己的技艺不高,反倒成了笑话.但是随着时间的推移,再也按捺不住这种想法,于是就写了一篇随笔发表到博客园首页.让我意想不到的是有许多人都看了,而且也留下了评论.这让我鼓起勇气写了第二.三.四篇.到现在的连载,这里我希望那些从未发表过随笔的人可以尝试去发表,在这里他人不会嘲讽你,而是会给你更好的建议.说了这么多下面我们继…
概要 在asp.net webform开发中经常会对用户提交输入的信息进行校验,一般为了安全起见大家都会在客户端进行Javascript(利于交互).服务端双重校验(安全).书写校验代码是一个繁琐的过程.在Asp.Net MVC中就很好的解决了这一问题.利用模型的数据注解实现客户端与服务端双重校验,使你的开发效率大大提高. 数据注解 微软提供了很多数据注解的类(通俗点就是特性标签类),也为我们提供了自定义接口来满足开发人员不同的需求.下面一一为大家说明. 命名空间:System.Componen…
在上一篇“asp.net mvc常用的数据注解和验证以及entity framework数据映射”话题中,有的博友提到 ‘“同一个实体在3-4个地方会发生修改,每个修改需要验证的方式都不一样,后端就不能写固定验证.” 此博友的言论我是很赞同的,在基于asp.net mvc上,我有对应的策略,并且,你只需几行代码,就解决了所有的事情. 还是举上次的Model,如下: [Table("AdminInfo")] public partial class AdminInfo { [Key] […