mvc模型验证
自定义的ValidationAttribute类,
Compare
[Compare("MyOtherProperty")] | 两个属性必须相同值,比如我们要求用户重复输入两次邮件地址时有用 | |
Range | [Range(10, 20)] | 属性值必须在指定的数值范围内,可以使用数值类型的最大最小值比如int.MinValue、int.MaxValue |
RegularExpression | [RegularExpression("pattern")] | 字符串值必须匹配正则表达式,默认大小写敏感,可以使用(?i)修饰符关闭大小写敏感,比如[RegularExpression("(?i)mypattern")] |
Required | [Required] | 属性值必须非空或者不能只是空格,如果允许全空格可以[Required(AllowEmptyStrings = true)] |
StringLength | [StringLength(10)] | 字符串长度不能超过给定的最大长度,也可以指定最小长度:[StringLength(10, MinimumLength=2)] |
public class MyValiueAttribute:ValidationAttribute
{
public MyValiueAttribute()
{
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
return base.IsValid(value, validationContext);
}
}
直接在实体模型的属性上加验证特性,
在后台直接通过ModelState。isvalid验证
ModelState.IsValidField()检查模型绑定器能否成功绑定“Date”属性(ModelState.IsValidField(“data”)对实体类型的data属性进行判断),如果数据不合法使用ModelState.AddModelError()添加错误消息。如果没有任何错误,ModelState.IsValid=true,我们可以继续正常操作,否则返回数据输入界面。
validateinput(false ) 取消危险字符验证,比如尖括号
mvc模型验证的更多相关文章
- ASP.NET MVC - 模型验证
ASP.NET MVC - 模型验证(Model verification) 模型验证原理浅析 模型验证用到了模型绑定器.模型验证器(System.Web.Mvc.DataAnnotationsMod ...
- asp.net mvc 模型验证组件——FluentValidation
asp.net mvc 模型验证组件——FluentValidation 示例 using FluentValidation; public class CustomerValidator: Abst ...
- asp.net mvc 模型验证注解,表单提交
一.添加模型 public class Account { public int ID { get; set; } [Display(Name = "姓名")] //设置要显示的字 ...
- ASP.NET没有魔法——ASP.NET MVC 模型验证
在前面的文章中介绍了用户的注册及登录功能,在注册用户时可以通过代码的形式限制用户名及密码的格式,如果不符合要求那么就无法完成操作,如下图: 该功能的原理是Identity基于的Entity Frame ...
- 双重保险——前端bootstrapValidator验证+后台MVC模型验证
我们在前端使用BoostrapValidator插件验证最基本的格式要求问题,同时在后台中,使用MVC特有的模型验证来做双重保险.对于boostrapValidator我就不说了,具体请看<bo ...
- asp.net mvc 模型验证-最舒服的验证方式
在院子里发现 http://www.cnblogs.com/yangecnu/p/3759784.html 模型验证方法 1. 一般方法 繁琐, 无数的if else, 在炎炎夏天,我见过一个验证方法 ...
- 当ASP.NET MVC模型验证遇上CKEditor
项目需要,使用到了CKEditor编辑器.这是个很不错的富文本编辑器,但是当它绑定的字段需要进行模型验证的时候,却会出现验证失效的问题.因此本文旨在记录这个问题和给出解决办法.以下以Validatio ...
- Asp.Net MVC 模型验证详解-实现客户端、服务端双重验证
概要 在asp.net webform开发中经常会对用户提交输入的信息进行校验,一般为了安全起见大家都会在客户端进行Javascript(利于交互).服务端双重校验(安全).书写校验代码是一个繁琐的过 ...
- MVC - 模型验证
使用MVC的数据验证特性可以自动实现客户端验证和服务端验证 假设有一个Employee类 public class Employee { public int ID { get; set; } pub ...
随机推荐
- mysql 新建用户、授权、远程访问
新建用户 insert into mysql.user(Host,User,Password) values("localhost","u",password( ...
- mongodb php driver on windows
windows env: os:windows 10 soft: XAMPP for Windows 5.6.15 php version:5.6.15 Architecture:x86 Th ...
- iOS7下隐藏status bar的详细研究
info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于a ...
- Spring中的自动装配
src\dayday\Person.java package dayday;/** * Created by I am master on 2016/11/28. */public class Per ...
- 基于eclipse-java的平台上搭建安卓开发环境
首先感谢好人的分享!http://www.mamicode.com/info-detail-516839.html 系统:windows 7 若想直接安装eclipse—android的,请启动如下传 ...
- RSA_SHA256数字签名
------------------ rsa 加密与解密 ----------------------------- 数论知识的实际应用: rsa加密 把问题归结为对数字的加密. 被加密的数字为明文. ...
- 关于 jsp 解析特殊字符的问题
在项目中了 使用了一个UI封装好 的插件 经测试了可以返回一些特殊字符,但是因为是特殊字符,导致了jsp解析出错,使用了Jquery来添加了dom结构,添加完之后,Ui控件进行初始化的时候报错了,原因 ...
- sql语句查询结果添加排序列(转)
给查询出的SQL记录添加序号列,解决方法有以下两种 第一: select ROW_NUMBER() OVER (ORDER BY a.字段 ASC) AS XUHAO,a.* from table ...
- Android 学习第17课,使用文件的数据存储(4种存储模式)
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中.可以使用Context ...
- 2016年JS面试题目汇总
1.怎样添加.移除.移动.复制.创建和查找节点? //1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 ...