MVC Model验证
类别:编程学习 浏览量:950
时间:2015-9-27 MVC Model验证
MVC Model验证ASP.NET MVC中的Model是自验证的,这是通过.NET4的System.ComponentModel.DataAnnotations命名空间完成的。 我们要做的只是给Model类的各属性加上对应的验证标记(Attributes)就可以让MVC框架帮我们完成验证。
一、MVC中自带Model验证标记
1、非空验证
[DisplayName("姓名")]
[Required(ErrorMessage = "姓名不能为空")]
public string Name { get; set; }
效果图
2、字段长度验证
[DisplayName("密码")]
[StringLength(6, ErrorMessage = "密码不能超过6个字符")]
public string Password { get; set; }
要求至少n位
[StringLength(160, MinimumLength=3)]
public string FirstName { get; set; }
3、正则表达式验证
[DisplayName("电子邮件")]
[RegularExpression(@"^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$",
ErrorMessage = "请输入正确的Email格式\\n示例:abc@123.com")]
public string Email { get; set; }
效果图
4、范围验证
[DisplayName("年龄")]
[Range(1, int.MaxValue, ErrorMessage = "请输入大于等于1的数")]
public int Age { get; set; }
小数的情况
[Range(typeof(decimal), “0.00”, “49.99”)]
public decimal Price { get; set; }
5、远程服务端验证
Remote异步请求验证,返回类型为Json类型的JavaScript对象。
Model代码
[DisplayName("姓名")]
[Required(ErrorMessage = "姓名不能为空")]
[Remote("GetUser", "User", ErrorMessage = "该姓名已存在")]
public string Name { get; set; }
Controller代码
public ActionResult GetUser(string name)
{
return Json(name != "aa", JsonRequestBehavior.AllowGet);
}
效果图
6、 比较验证
[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; }
二、自定义Attbitue验证
1、新建一个FutureTimeAttribute类
namespace MvcStudy.Validation
{
public class FutureTimeAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
DateTime dt = (DateTime)value;
if (dt != null)
{
if (dt < DateTime.Now)
{
return true;
}
}
return false;
}
}
}
2、使用
3、效果图
填写一个将来的时间点击注册之后我们将会看到如下的结果
标签:MVC
您可能感兴趣
- Asp.net Mvc模型绑定
- mvc中使用uploadify批量上传
- MVC升级后报"当前上下文中不存在ViewBag"错的解决方法
- MVC中的ActionResult
- mysql mvcc 底层原理(浅析MySQL - MVCC)
- MVC中报get_RazorKeywords()错误的解决方法
- MVC中modelstate的使用
- MVC中JS获取后台的数据
- mysql实现mvc(mysql的MVCC多版本并发控制的实现)
- MVC上传文件的方法
- MVC中JavaScriptResult
- mvc编译时,让View中的错误提示
- mvc中@helper的用法
- MVC中数据验证
- mysql乐观锁与mvcc(MySQL中的乐观锁,悲观锁和MVCC全面解析)
- windows server 2008r2怎么安装(Windows Server2008 R2 MVC 环境安装配置教程)
- 日本菜有什么好吃(日本菜有什么好吃的做法)
- 韩国泡菜做法(韩国泡菜的做法步骤)
- 泰国旅游攻略(泰国旅游攻略必去景点)
- 越难春卷(越难春卷皮怎么用)
- 休闲VS新古典 办公家居简约设计(办公家居简约设计)
- 15个新成 园 位置公布 深圳龙岗2022年共建花园建设又有大动作(15个新成园位置公布)
热门推荐
- thinkphp5单例原理(Thinkphp5框架简单实现钩子Hook行为的方法示例)
- docker配置自己的环境(docker可视化工具Portainer部署并汉化的操作)
- docker搭建elasticsearch(docker安装ElasticSearch:7.8.0集群的详细教程)
- VS中Code Snippet 代码段
- 面试时问期望工资怎么回答
- 利用数据库安装centos7(CentOS安装SQL Server vNext CTP1教程)
- sql语句计算年龄(sql通过日期判断年龄函数的示例代码)
- mysql 用户权限配置(详解MySQL 用户权限管理)
- 创建数据表的sql语句代码(用注解编写创建表的SQL语句)
- mysql的innodb设置(修改MySQL数据库引擎为InnoDB的操作)