ASP.NET MVC2 数据模型验证类库:MVC Foolproof Validation
来源:互联网 发布:那个软件看电视免费 编辑:程序博客网 时间:2024/05/18 18:20
MVC Foolproof Validation是一个数据模型类库扩展。
操作符验证
1: public class SignUpViewModel
2: {
3: [Required]
4: public string Password { get; set; }
5:
6: [EqualTo("Password", ErrorMessage="Passwords do not match.")]
7: public string RetypePassword { get; set; }
8: }
9: public class EventViewModel
10: {
11: [Required]
12: public string Name { get; set; }
13:
14: [Required]
15: public DateTime Start { get; set; }
16:
17: [Required]
18: [GreaterThan("Start")]
19: public DateTime End { get; set; }
20: }
有效的操作符验证器
1: [Is]
2: [EqualTo]
3: [NotEqualTo]
4: [GreaterThan]
5: [LessThan]
6: [GreaterThanOrEqualTo]
7: [LessThanOrEqualTo]
非空验证
1: private class Person
2: {
3: [Required]
4: public string FirstName { get; set; }
5:
6: [Required]
7: public string LastName { get; set; }
8:
9: public bool Married { get; set; }
10:
11: [RequiredIfTrue("Married")]
12: public string MaidenName { get; set; }
13: }
条件非空验证
1: [RequiredIf]
2: [RequiredIfNot]
3: [RequiredIfTrue]
4: [RequiredIfFalse]
5: [RequiredIfEmpty]
6: [RequiredIfNotEmpty]
7: [RequiredIfRegExMatch]
8: [RequiredIfNotRegExMatch]
启用客户端验证
要启用客户端验证,必须包含标准的客户端验证文件和MvcFoolproofValidation.js文件:
1: <script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
2: <script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
3: <script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
4: <script src="../../Scripts/MvcFoolproofValidation.js" type="text/javascript"></script>
jQuery验证
如果使用jQuery验证,则必须包含标准的客户端验证文件和MvcFoolproofJQueryValidation.js文件:
1: <script src="../../Scripts/jquery.js" type="text/javascript"></script>
2: <script src="../../Scripts/jquery-validate.js" type="text/javascript"></script>
3: <script src="../../Scripts/MicrosoftMvcJQueryValidation.js" type="text/javascript"></script>
4: <script src="../../Scripts/MvcFoolproofJQueryValidation.js" type="text/javascript"></script>
复杂自定义验证
自定义验证属性:
1: public class RoleValidInDepartmentAttribute : ModelAwareValidationAttribute
2: {
3: //this is needed to register this attribute with foolproof's validator adapter
4: static RoleValidInDepartmentAttribute() { Register.Attribute(typeof(RoleValidInDepartmentAttribute)); }
5:
6: public override bool IsValid(object value, object container)
7: {
8: if (value != null && value.ToString() == "Software Developers")
9: {
10: //if the role was software developers, we need to make sure the user is in the IT department
11: var model = (CreateUserViewModel)container;
12: return model.Department == "IT Department";
13: }
14:
15: //the user wasn't in a constrained role, so just return true
16: return true;
17: }
18: }
应用到模型之中:
1: public class CreateUserViewModel
2: {
3: [Required]
4: public string Username { get; set; }
5:
6: [Required]
7: public string Department { get; set; }
8:
9: [Required]
10: [RoleValidInDepartment(ErrorMessage="This role isn't valid for the selected department.")]
11: public string Role { get; set; }
12: }
Foolproof Provides Contingent Data Annotation Validation for ASP.NET MVC 2
Build Model-Aware Custom Validation Attributes in ASP.NET MVC 2
Client Side Model-Aware Validation
官方地址:http://foolproof.codeplex.com
- ASP.NET MVC2 数据模型验证类库:MVC Foolproof Validation
- asp.net MVC2 验证
- asp.net MVC2 验证
- ASP.NET MVC 结合EDMX 数据模型验证
- ASP.NET MVC2 Model验证
- ASP.NET MVC:也谈实体验证(Entity Validation)
- Asp.net MVC输入验证 Validation的用法
- ASP.NET MVC2框架验证学习笔记
- asp.net mvc2 数据验证方法
- ASP.NET MVC 3 Validation - 正则表达式验证RegularExpressionAttribute之日期验证
- 使用Fluent Validation实现ASP.NET MVC项目的验证功能
- Asp.net MVC2.0系列文章-MVC简介篇
- Asp.net MVC2.0系列文章-MVC简介篇
- 如何将ASP.NET MVC2项目升级到MVC 3
- asp.net mvc validation framework -xVal
- asp.net mvc validation framework -xVal
- ASP.NET MVC2 获取ModelState中的验证错误提示
- ASP.NET MVC3的验证(Validation)框架
- C#优化字符串操作
- 自己收集的网络安全知识
- Solr笔记(2)_Schema.xml和solrconfig.xml分析
- 思考mysql内核之初级系列3---办理业务的流程
- 8086下十六位贪吃蛇小程序 (仅1k)
- ASP.NET MVC2 数据模型验证类库:MVC Foolproof Validation
- 使用MongoDB存储访问者信息
- pku1026Cipher 置换群
- js encode ,java decode,virtools 页面播放~
- 安装和管理MySql数据库(MySql数据库初探一)
- 今年想做几件事
- 运行heritrix1.14.4报错 thread-10 org.archive.util.ArchiveUtils.() TLD list unavailable
- 差分信号
- sigprocmask