MVC数据验证Model Validation
Required必须项验证属性
[Required] public string FirstName { get; set; }//ID编号[ScaffoldColumn(false)][Required(AllowEmptyStrings = false, ErrorMessage = "用户ID不能为空")][Display(Name = "记录编号", Order = 20000)]public int ID { get; set; }
StringLength长度
[Required] [StringLength(160)] public string LastName { get; set; } [Required] [StringLength(160, MinimumLength=3)] public string FirstName { get; set; }
RegularExpression正则表达式
[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")] public string Email { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "邮箱必填")][RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9]+\.[A-Za-z]{2,4}", ErrorMessage = "{0}的格式不正确")]public string Email { get; set; }
匹配验证
[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")] public string Email { get; set; } [Compare("Email")] public string EmailConfirm { get; set; }
Compare 比较两个字段值是否相同。
Range数字范围
[Range(35,44)] public int Age { get; set; } [Range(typeof(decimal), "0.00", "49.99")] public decimal Price { get; set; }
Custom Error Messages and Localization自定义错误消息和本地化
[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", ErrorMessage="Email doesn't look like a valid email address.")] public string Email { get; set; } [Required(ErrorMessage="Your last name is required")] [StringLength(160, ErrorMessage="Your last name is too long")] public string LastName { get; set; }
@Html.EditorFor(model => model.Email)@Html.ValidationMessageFor(model => model.Email)
Display
[Required] [StringLength(160, MinimumLength=3)] [Display(Name="First Name")] public string FirstName { get; set; }
[Display(Name = "身份证号码")][RegularExpression(@"\d{17}[\d|x]|\d{15}", ErrorMessage = "身份证号码格式错误")]<div class="editor-label">@Html.LabelFor(t => t.IdentityNo)</div><div class="editor-field">@Html.EditorFor(model => model.IdentityNo)@Html.ValidationMessageFor(model => model.IdentityNo)</div>
自动生成编辑页面
<fieldset> <legend>Shipping Information</legend> @Html.EditorForModel() </fieldset>
<div>@using (Html.BeginForm()){@Html.ValidationSummary(true)<fieldset><legend>UserInfo</legend> <div class="editor-label">@Html.LabelFor(t => t.UserPassword)</div><div class="editor-field">@Html.EditorFor(model => model.UserPassword)@Html.ValidationMessageFor(model => model.UserPassword)</div><div class="editor-label">@Html.LabelFor(t => t.IdentityNo)</div><div class="editor-field">@Html.EditorFor(model => model.IdentityNo)@Html.ValidationMessageFor(model => model.IdentityNo)</div><div class="editor-label">@Html.LabelFor(t => t.Email)</div><div class="editor-field">@Html.EditorFor(model => model.Email)@Html.ValidationMessageFor(model => model.Email)</div> <div class="editor-label">@Html.LabelFor(t => t.Age)</div><div class="editor-field">@Html.EditorFor(model => model.Age)@Html.ValidationMessageFor(model => model.Age)</div> <div class="editor-label">@Html.LabelFor(t => t.Money)</div><div class="editor-field">@Html.EditorFor(model => model.Money)@Html.ValidationMessageFor(model => model.Money)</div> <div class="editor-label">@Html.LabelFor(t => t.TEmail)</div><div class="editor-field">@Html.EditorFor(model => model.TEmail)@Html.ValidationMessageFor(model => model.TEmail)</div> @Html.EditorForModel() </fieldset><input type="submit" value="提交" />}</div>
隐藏属性ScaffoldColumn,使用EditorForModel生效
[ScaffoldColumn(false)] public string Username { get; set; }
如果设置为false,则该字段不会在View层显示,里面定义的验证也不会生效。
DisplayFormat格式化已短时间形式显示显示
[DisplayFormat(ApplyFormatInEditMode=true, DataFormatString="{0:d}")] public decimal Time{ get; set; } 以货币格式显示数值 [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:c}")] public decimal Pay{ get; set; }
ReadOnly只读属性,在页面上可以显示但无法将值传入控制器
[ReadOnly(true)] public decimal Total { get; set; }
DataType数据类型
[Required] [DataType(DataType.Password)] [Display(Name="Password")] public string Password { get; set; }
转载于:https://www.cnblogs.com/shy1766IT/p/5080972.html
MVC数据验证Model Validation相关推荐
- 【ASP.NET MVC4】第八课:MVC数据验证、验证特性、自定义验证
知识点:MVC数据验证概述.验证特性的使用.自定义验证.扩充基于 Entity Framework 的数据模型. 1.MVC 数据验证概述 1.1 为什么要进行数据验证 ASP.NET MVC 中的 ...
- MVC数据验证原理及自定义ModelValidatorProvider实现无编译修改验证规则和错误信息...
Asp.net MVC中的提供非常简单易用的数据验证解决方案. 通过System.ComponentModel.DataAnnotations提供的很多的验证规则(Required, StringLe ...
- Spring MVC数据验证
文章目录 客户端验证 服务器端验证 自定义 Spring 验证器 Validator接口 ValidationUtils 类 Spring MVC验证器应用实例 JSR 303 验证 Hibernat ...
- Spring MVC 数据验证——validate注解方式
1.说明 学习注解方式之前,应该先学习一下编码方式的spring注入.这样便于理解验证框架的工作原理.在出错的时候,也能更好的解决这个问题.所以本次博客教程也是基于编码方式.仅仅是在原来的基础加上注解 ...
- ASP.NET MVC数据验证(上)
关于ASP.NET MVC的验证,用起来很特别,因为MS的封装,使人理解起来很费解.也可能很多人都在Scott Guthrie等人写的一本<ASP.NET MVC 1.0>书中,见过Ner ...
- 艾伟_转载:ASP.NET MVC数据验证
关于ASP.NET MVC的验证,用起来很特别,因为MS的封装,使人理解起来很费解.也可能很多人都在Scott Guthrie等人写的一本<ASP.NET MVC 1.0>书中,见过Ner ...
- Spring MVC数据验证简介
用户的输入一般是随意的,为了保证数据的合法性,数据验证是所有 Web 应用必须处理的问题. 在 Spring MVC 框架中有以下两种方法可以验证输入数据: 利用 Spring 自带的验证框架. 利用 ...
- MVC validate数据验证
validate数据验证 jquery validation插件用法之自定义规则 jquery.validate使用攻略 第三部 jquery.validate使用攻略 第五步 正则验证 @{Layo ...
- 数据验证html,JavaScript 表单数据验证
JavaScript 表单 HTML 表单验证可以通过 JavaScript 来完成. HTML 表单验证也可以通过浏览器来自动完成. 如果表单字段 (fname) 的值为空, required 属性 ...
- DynamicData for Asp.net Mvc留言本实例 中篇 新建.删除.数据验证
上篇咱完成了显示列表的功能,下面接着来 也许您有疑问,这个显示列表不是和正常的Asp.net Mvc差不多吗?也是个foreach只是由原来的<%=字段%>变成了<% Html.Re ...
最新文章
- 什么是新IP的四层网络技术
- CrackMe-CrackHead
- Vlan中的 PVID vid tag untag 常识理论
- 后端小白的VUE入门笔记, 进阶篇
- C++读取txt数据为二维数组 将数据保存到txt文本中
- Java 基于 UDP 实现 Socket中的多客户端通信
- Eclipse如何卸载插件
- 用Python操作MySQL(pymysql)
- 关于判断后该数据类型是否发生了转变
- 常用http状态码说明,status
- 明尼苏达量表结果分析_明尼苏达满意度量表的指标
- 【Python乘方运算和开平方运算】
- mac下使用php cURL方法nginx502错误
- 26 | Superscalar和VLIW:如何让CPU的吞吐率超过1?
- 【K线绘图】教你用python绘制带有买卖点的股票K线图(附送鳄鱼指标、顾比均线指标、dataframe格式化输出)
- 在Linux Ubuntu上编译DNX
- 没事别想不开去创业公司
- 什么是开发平台? 几句话就让你明白!
- 【科创人独家】军哥手记程军:我的2020,先打个60分吧
- 分享:Babel7的配置
热门文章
- 软件工程 第二章 可行性研究
- VLFeat工具包在matlab使用方法
- 深度学习(一)TensorFlow入门教程集合
- plt.imshow与cv2.imshow显示颜色问题
- php必填参数校验,laravel请求参数校验方法
- php考试试卷,php测试题(一)
- python 系统管理_python系统管理
- kubernetes 查看日志方法
- bootstraptable 数字不换行_不知道这些数据录入技巧,你就凹凸了!|Excel093
- mysql数据库关联查询慢_mysql数据库多表关联查询的慢SQL优化