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相关推荐

  1. 【ASP.NET MVC4】第八课:MVC数据验证、验证特性、自定义验证

    知识点:MVC数据验证概述.验证特性的使用.自定义验证.扩充基于 Entity Framework 的数据模型. 1.MVC 数据验证概述 1.1  为什么要进行数据验证 ASP.NET MVC 中的 ...

  2. MVC数据验证原理及自定义ModelValidatorProvider实现无编译修改验证规则和错误信息...

    Asp.net MVC中的提供非常简单易用的数据验证解决方案. 通过System.ComponentModel.DataAnnotations提供的很多的验证规则(Required, StringLe ...

  3. Spring MVC数据验证

    文章目录 客户端验证 服务器端验证 自定义 Spring 验证器 Validator接口 ValidationUtils 类 Spring MVC验证器应用实例 JSR 303 验证 Hibernat ...

  4. Spring MVC 数据验证——validate注解方式

    1.说明 学习注解方式之前,应该先学习一下编码方式的spring注入.这样便于理解验证框架的工作原理.在出错的时候,也能更好的解决这个问题.所以本次博客教程也是基于编码方式.仅仅是在原来的基础加上注解 ...

  5. ASP.NET MVC数据验证(上)

    关于ASP.NET MVC的验证,用起来很特别,因为MS的封装,使人理解起来很费解.也可能很多人都在Scott Guthrie等人写的一本<ASP.NET MVC 1.0>书中,见过Ner ...

  6. 艾伟_转载:ASP.NET MVC数据验证

    关于ASP.NET MVC的验证,用起来很特别,因为MS的封装,使人理解起来很费解.也可能很多人都在Scott Guthrie等人写的一本<ASP.NET MVC 1.0>书中,见过Ner ...

  7. Spring MVC数据验证简介

    用户的输入一般是随意的,为了保证数据的合法性,数据验证是所有 Web 应用必须处理的问题. 在 Spring MVC 框架中有以下两种方法可以验证输入数据: 利用 Spring 自带的验证框架. 利用 ...

  8. MVC validate数据验证

    validate数据验证 jquery validation插件用法之自定义规则 jquery.validate使用攻略 第三部 jquery.validate使用攻略 第五步 正则验证 @{Layo ...

  9. 数据验证html,JavaScript 表单数据验证

    JavaScript 表单 HTML 表单验证可以通过 JavaScript 来完成. HTML 表单验证也可以通过浏览器来自动完成. 如果表单字段 (fname) 的值为空, required 属性 ...

  10. DynamicData for Asp.net Mvc留言本实例 中篇 新建.删除.数据验证

    上篇咱完成了显示列表的功能,下面接着来 也许您有疑问,这个显示列表不是和正常的Asp.net Mvc差不多吗?也是个foreach只是由原来的<%=字段%>变成了<% Html.Re ...

最新文章

  1. 什么是新IP的四层网络技术
  2. CrackMe-CrackHead
  3. Vlan中的 PVID vid tag untag 常识理论
  4. 后端小白的VUE入门笔记, 进阶篇
  5. C++读取txt数据为二维数组 将数据保存到txt文本中
  6. Java 基于 UDP 实现 Socket中的多客户端通信
  7. Eclipse如何卸载插件
  8. 用Python操作MySQL(pymysql)
  9. 关于判断后该数据类型是否发生了转变
  10. 常用http状态码说明,status
  11. 明尼苏达量表结果分析_明尼苏达满意度量表的指标
  12. 【Python乘方运算和开平方运算】
  13. mac下使用php cURL方法nginx502错误
  14. 26 | Superscalar和VLIW:如何让CPU的吞吐率超过1?
  15. 【K线绘图】教你用python绘制带有买卖点的股票K线图(附送鳄鱼指标、顾比均线指标、dataframe格式化输出)
  16. 在Linux Ubuntu上编译DNX
  17. 没事别想不开去创业公司
  18. 什么是开发平台? 几句话就让你明白!
  19. 【科创人独家】军哥手记程军:我的2020,先打个60分吧
  20. 分享:Babel7的配置

热门文章

  1. 软件工程 第二章 可行性研究
  2. VLFeat工具包在matlab使用方法
  3. 深度学习(一)TensorFlow入门教程集合
  4. plt.imshow与cv2.imshow显示颜色问题
  5. php必填参数校验,laravel请求参数校验方法
  6. php考试试卷,php测试题(一)
  7. python 系统管理_python系统管理
  8. kubernetes 查看日志方法
  9. bootstraptable 数字不换行_不知道这些数据录入技巧,你就凹凸了!|Excel093
  10. mysql数据库关联查询慢_mysql数据库多表关联查询的慢SQL优化