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

模型注解验证(MVC) 模型数据注解 ● ASP.NET MVC框架提供了数据验证的API,称为“模型数据注解”或“模型元数据”。 ● 数据验证API位于System.ComponentModel.DataAnnotations名称空间。 |数据验证API |示例 |说明| |Compare|[Compare(“MyOtherProperty”)]|两个属性值必须相同| |Range|[Range(10,20)]|属性... 阅读详情

通过为模型类增加数据描述的 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; }

    }
}

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

ASP.NET MVC参数验证的多种方式 ASP.NET MVC是一种用于构建Web应用程序的开源框架,它提供了多种方式来验证用户提交的参数。在本文中,我们将介绍几种常用的ASP.NET MVC后台参数验证方式,并提供相应的源代码示例。方法,我们可以轻松实现对用户提交的参数进行验证,并根据验证结果做出相应的处理。数据注解特性是一种简单而强大的参数验证方式,它通过在模型类的属性上添加特性来定义验证规则。除了数据注解特性,还可以通过自定义验证器来实现更复杂的参数验证逻辑。这对于需要在不同的操作中验证相同的模型类时很有用。"密码长度必须在6到20之间" 阅读详情

相关推荐

微信小程序网关逆向分析:从协议、签名到会话管理的安全架构剖析

在现代Web与移动应用开发中,API网关作为客户端与后端服务之间的关键通信枢纽,承担着协议转换、流量调度、安全防护与性能优化等核心职责。其工作原理通常涉及统一的请求路由、身份认证、参数校验与响应聚合。从技术价值看,深入理解网关机制不仅能帮助开发者构建更健壮、可扩展的微服务架构,还能为安全评估、性能调优与故障排查提供基础。在移动生态如微信小程序中,网关设计尤为关键,它需要处理微信特有的登录态、数据加密与防重放攻击等安全需求。本文聚焦于微信小程序网关的逆向分析方法,通过结合网络抓包与代码反编译技术,深入解析其通

weixin_29323493的博客 442

DataAnnotation特性列举

DataAnnotation 特性由.NET 3.5中引进,给.NET中的类提供了一种添加验证的方式。DataAnnotation由命名空间System.ComponentModel.DataAnnotations提供。下面列举实体模型中常用的DataAnnotation特性: KeyAttribute:对数据库中表的主键的设置[Key]public int OrderID { get;...

LJianDong的博客 1469

Multisim实战:从零搭建体温检测报警电路(附完整仿真文件+调试技巧)

本文详细介绍了如何使用Multisim从零搭建体温检测报警电路,涵盖LM35温度传感器、LM358运算放大器等核心器件的选型与连接,以及信号调理、阈值比较和数码管显示等关键电路设计。附赠完整仿真文件和实用调试技巧,帮助电子工程初学者快速掌握体温温度检测系统的设计与实现。

weixin_28285943的博客 291

在ASP.NET MVC的数据模型中设置的DataAnnotation MaxLength的验证无效的解决方式

本文实例讲述ASP.NET在MVC中设置的DataAnnotation  MaxLength特性设置无效的解决方法。分享给大家供大家参考。具体分析如下:我们经常会在ASP.NET MVC项目中,给某个Model的字段设置MaxLength特性如下:public class ExampleClass{    [MaxLength(256, ErrorMessage = "最大长度256")]    ...

jlj0918的专栏 926

Mask2former自定义数据集实现滑坡语义分割

先介绍一下这次用的数据集:Bijie Landslide Dataset,是武汉大学在Triplesat卫星上裁剪的数据集,包含770张滑坡(image、mask、dem、边界坐标txt)和2003张非滑坡数据(dem、image)。直接在ade20k修改,按照路径和设置将预处理数据放好,该步骤很快就能结束,打开的图片是全黑的,因为0和1在图片上肉眼较难区分。bijie的数据集可以直接使用,接下去的步骤是1、预处理数据。配置文件修改训练类别和训练类型,由于我们分割的是滑坡,所以进行语义分割。

weixin_57812838的博客 2214

【Tessent Shell Users Manual】【Ch3】Design Introspection and Editing(未完待续)

Tessent Shell 提供了一系列用于检查(examining/introspecting)和编辑design的命令。

Tranquil_ovo的博客 1730

C#一些常用的特性

该特性用于标记某个属性为必需的,如果用户没有提供该属性的值,则会引发一个指定的错误消息。在上面的示例代码中,如果用户尝试在明文显示密码的地方查看该属性的值,则会得到一个星号代替的密码字符。在上面的示例代码中,如果用户输入的确认密码和密码不一致,则会引发一个指定的错误消息。该特性用于标记某个属性为密码类型,以确保用户输入的密码不会被明文显示。在上面的示例代码中,如果用户没有提供用户名或密码,则会引发一个指定的错误消息。

ultramand的博客,重生之我在cad上二次开发猛猛敲C#代码~ 1473

西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件

西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件

liang007dudu的博客 1万+

MVC 数据验证(检查用户名是否存在)

控制器 Home using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication2.Models; namespace MvcApplication2.Controllers { public c

Fanbin168的专栏 1万+

告别单一帧:在CFD-POST中完整加载Fluent瞬态计算结果的实战指南

本文详细介绍了在CFD-POST中完整加载Fluent瞬态计算结果的实战指南,解决工程师常见的只能看到最后一帧数据的问题。通过Fluent端的正确设置和CFD-POST端的完整加载技巧,帮助用户高效处理瞬态数据,提升后处理效率。文章还提供了常见问题排查、性能优化和高级后处理技巧,适用于Workbench环境下的流体流动分析。

weixin_29284657的博客 537

实战教程:用YOLOv11+PyQt5打造工地安全帽检测系统(附完整数据集)

本文提供了一份完整的实战指南,详细介绍了如何利用YOLOv11目标检测模型与PyQt5界面库,从零开始构建一个智能工地安全帽检测桌面应用。内容涵盖高质量数据集的准备与标注、YOLOv11模型训练与调优,以及如何使用PyQt5开发流畅、专业的图形用户界面,最终实现一个可实际部署的AI安全监控系统。

plum99的博客 737

asp.net mvc 3.0详细笔记__17__使用 DataAnnotations 进行模型验证

使用 DataAnnotations 进行模型验证

DHCsimida的专栏 1417

泛微OA集成阿里云短信(E9保姆教程)

泛微OA集成阿里云短信(E9保姆教程)

技术分享 515

ASP.NET MVC 音乐商店 - 6. 使用 DataAnnotations 进行模型验证

ASP.NET MVC 音乐商店 - 6. 使用 DataAnnotations 进行模型验证 转自http://www.cnblogs.com/haogj/archive/2011/11/16/2251920.html在前面的创建专辑与编辑专辑的表单中存在一个问题:我们没有进行任何验证。字段的内容可以不输入,或者在价格的字段中输入一些字符,...

weixin_30408309的博客 83

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ASP.NET MVC 音乐商店 - 6. 使用 DataAnnotations 进行模型验证

MusicStore 项目的完整配套视频! 在前面的创建专辑与编辑专辑的表单中存在一个问题:我们没有进行任何验证。字段的内容可以不输入,或者在价格的字段中输入一些字符,在执行程序的时候,这些错误会导致数据库保存过程中出现错误,我们将会看到来自数据库的错误信息。 通过为模型类增加数据描述的 DataAnnotations ,我们可以容易地为应用程序增加验证的功能。DataAnnotations ...

ziqi688的博客 105

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

4_DataAnnotations 的Model验证

本文介绍了在.NET MVC开发中,利用DataAnnotations进行数据验证的步骤及示例。

ABNER的专栏 622

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【翻译】ASP.NET MVC4 入门(八) 为Model添加验证规则

原文链接:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-validation-to-the-model 在这一小节,我们将会给Movie模型添加验证规则,这样当用户试图新加或者编辑一部电影的数据时将会确保这些数据是符合验证逻辑的。 保持事请DRY ASP.NET MVC的...

djk2045的博客 290

DataAnnotations 验证

常用的 DataAnnotations Required :属性值必须非空或者不能只是空格,如果允许全空格可以[Required(AllowEmptyStrings = true)] DisplayName :显示名 – 定义表单字段的提示名称 StringLength :字符串长度不能超过给定的最大长度,也可以指定最小长度:[StringLength(10, MinimumLength=2)] Range :范围 – 数字的可输入范围[Range(10, 20)] ,属性值必须在指定的数值

极客神殿 807

Asp.net mvc 知多少(六)

本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想看英文原版的可访问http://www.dotnettricks.com/free-ebooks自行下载。该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会

rh57b1f7的专栏 246

Asp.net mvc 服务器验证

虽然上节提到了Model Binder,但还是不是很明白,在阅读一些博友的文章后,感觉大概可以这么解释:        MVC将用户提交的数据传递到Action的参数,也就是ModelBinder 使用Post数据更新Teacher对象,类似与DataSet里面的数据绑定,但这里称之为模型绑定,在更新对象的同时,设置ModelState(ModelState封装了Model的状态),其属性IsV

米奇老鼠 1107
上一篇: MVC ValidationSummary显示问题
下一篇: Asp.Net MVC HTML Helper 中 LabelFor TextBoxFor的一些理解
hack8
博客等级 码龄18年 109粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值