失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > ASP.NET MVC2 数据模型验证类库:MVC Foolproof Validation

ASP.NET MVC2 数据模型验证类库:MVC Foolproof Validation

时间:2023-02-22 01:10:30

相关推荐

ASP.NET MVC2 数据模型验证类库:MVC Foolproof Validation

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 MVC 2

Build Model-Aware Custom Validation Attributes in MVC 2

Client Side Model-Aware Validation

官方地址:

如果觉得《ASP.NET MVC2 数据模型验证类库:MVC Foolproof Validation》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。