Asp.Net MVC 使用 DataAnnotations 进行模型验证

通过为模型类增加数据描述的 DataAnnotations ,我们可以容易地为应用程序增加验证的功能。DataAnnotations 允许我们描述希望应用在模型属性上的验证规则,ASP.NET MVC 将会使用这些 DataAnnotations ,然后将适当的验证信息返回给用户。

常用的 DataAnnotations 包括:

  1. Required 必须 – 表示这个属性是必须提供内容的字段
  2. DisplayName 显示名 – 定义表单字段的提示名称
  3. StringLength 字符串长度 – 定义字符串类型的属性的最大长度
  4. Range 范围 – 为数字类型的属性提供最大值和最小值
  5. Bind 绑定 – 列出在将请求参数绑定到模型的时候,包含和不包含的字段
  6. ScaffoldColumn 支架列 - 在编辑表单的时候,需要隐藏起来的的字符
  7. Compare 比较 - 与制定的字段值进行比较 具体见代码
using System.Collections.Generic;

using System.ComponentModel.DataAnnotations;

namespace SKUOrderMVC.Models
{
    public class ChangePassword
    {
        [Required]
        [Display(Name = "Email")]
        [EmailAddress]
        public string Email { get; set; }

        [Required]
        [DataType(DataType.Password)]
        [StringLength(32, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
        [Display(Name = "Password")]
        public string Password { get; set; }

        [DataType(DataType.Password)]
        [Display(Name = "Confirm password")]
        [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
        public string ConfirmPassword { get; set; }

    }
}

当然还有其他的一些属性,比如正则表达式等,不用辅助编码就可以完成对数据输入格式的验证。

时间: 2024-10-14 14:07:23

Asp.Net MVC 使用 DataAnnotations 进行模型验证的相关文章

ASP.NET MVC下的四种验证编程方式

原文:ASP.NET MVC下的四种验证编程方式 ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定.总地来说,我们可以采用4种不同的编程模式来进行针对绑定参数的验证. 目录 一.手工验证绑定的参数 二.使用ValidationAttribute特性 三.让数据类型实现IValidatableObject接口 四.让数据类型实现IDataError

[转]ASP.NET MVC 5 - 添加一个模型

在本节中,您将添加一些类,这些类用于管理数据库中的电影.这些类是ASP.NET MVC 应用程序中的"模型(Model)". 您将使用.NET Framework 数据访问技术Entity Framework,来定义和使用这些模型类.Entity Framework(通常称为 EF) 是支持代码优先 (Code First) 的开发模式.代码优先允许您通过编写简单的类来创建对象模型.(相对于"原始的CLR objects",这也被称为POCO 类)然后, 可以从您的

ASP.NET MVC下的四种验证编程方式【转】

ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效 性,我们将针对参数的验证成为Model绑定.总地来说,我们可以采用4种不同的编程模式来进行针对绑定参数的验证. 目录 一.手工验证绑定的参数 二.使用ValidationAttribute特性 三.让数据类型实现IValidatableObject接口 四.让数据类型实现IDataErrorInfo接口 一.手工验证绑定的参数 在 定义具

ASP.NET MVC下的四种验证编程方式[续篇]

在<ASP.NET MVC下的四种验证编程方式>一文中我们介绍了ASP.NET MVC支持的四种服务端验证的编程方式("手工验证"."标注ValidationAttribute特性"."让数据类型实现IValidatableObject或者IDataErrorInfo"),那么在ASP.NET MVC框架内部是如何提供针对这四种不同编程方式的支持的呢?接下来我们就来聊聊这背后的故事. 一.ModelValidator与ModelVal

ASP.NET MVC 5 - 添加一个模型

插件GanttCalendarPlugin安装完以后,有一个问题,就是在选择起始与结束时间的时候,为了方便有datepicker功能,如图 需要用到插件DateFieldPlugin,官网链接http://trac-hacks.org/wiki/DateFieldPlugin ASP.NET MVC 5 - 添加一个模型,码迷,mamicode.com

asp.net mvc 登陆及用户角色验证

使用asp.net mvc 实现登陆及角色验证. 我最进想要实现对网站登陆者的权限管理问题,不同角色的用户访问页面收到权限的限制.然而因为建立的是空项目,所以只能手动实现角色管理的功能. 基本的思想就是重载AuthorizeAttribute特性标签,让重载的类继承ActioFilterAttribute类来实现个性的角色验证标签. 而登陆controller的书写主要就是从数据库中查出用户信息并把登陆信息用ticket加密保存在cookie里. 下面这段代码是登陆的控制器代码 namespac

【记录】ASP.NET MVC 4/5 Authentication 身份验证无效

原文:[记录]ASP.NET MVC 4/5 Authentication 身份验证无效 在 ASP.NET MVC 4/5 应用程序发布的时候,遇到一个问题,在本应用程序中进行身份验证是可以,但不能和其他"二级域名"共享,在其他应用程序身份验证,不能和本应用程序共享,示例代码: System.Web.Security.FormsAuthentication.SetAuthCookie("蟋蟀", true); webconfig 配置如下: <system.

ASP.NET MVC Model之二模型绑定

Asp.net mvc中的模型绑定,或许大家经常用,但是具体说他是怎么一回事,可能还是会有些陌生,那么,本文就带你理解模型绑定.为了理解模型绑定,本文会先给出其定义,然后对通过比,来得出使用模型绑定的方便.最后简单的模拟一下自定义模型绑定,让大家对模型绑定有进一步的认识. 一.模型绑定的概念 mvc framework中有一种技术,他就是模型绑定:使用 被浏览器发送的http请求里面数据 来创建.net对象的过程.接下来就让我们来看看模型绑定的好处. 二.模型绑定好处 第二部分,我们通过不使用模

ASP.NET MVC+Bootstrap 实现短信验证

短信验证大家都已经很熟悉了,基本上每天都在接触手机短信的验证码,比如某宝,某东购物,网站注册,网上银行等等,都要验证我们的手机号码真实性.这样做有什么好处呢. 以前咱们在做网站的时候,为了提高用户注册的质量,防止用户恶意注册,都会设置一些小阻碍,如网页验证码.邮件认证等等.但是道高一尺魔高一丈,很快网站的这些设置都被一些网络黑客利用注册机逐一攻破,这些功能也就随之变成了摆设. 但是魔高一丈道高两丈,随着移动设备的普及,短信验证的功能横空出世.他的出现轻松的排除了传统网站验证码的弊端,还提升了网站