(转)ASP.NET MVC 中模型验证组件——FluentValidation
2012-06-01 14:09
429 查看
转载自:/article/5775903.html
新年好呀^~^~~~,之前在博客园有幸从网友那里得知一个C#的模型验证组件(哈 不知道这样表述正确不),组件的功能比较简单,主要是实现了对Model的验证,例如验证用户名是否为空,密码长度是不是多余6个字符,当然还有其他更加灵活的的验证方法。这里介绍给大家知道一下!
该组件的名称叫“FluentValidation”,顾名思义——“流畅验证”(- -!)。
下面看一段官方网站上面给出的代码就知道为什么“流畅”了。代码如下:
如果使用过ASP.NET MVC2.0或者以上版本的同学应该对这种代码觉得很熟悉^—^
目前该组件到了2.0版本,感觉我知道的比较晚了,下面给出相关链接:
FluentValidation首页地址:http://fluentvalidation.codeplex.com/
FluentValidation下载地址:http://fluentvalidation.codeplex.com/releases/view/59101
FluentValidation文档地址:http://fluentvalidation.codeplex.com/documentation
文档不多不过写得比较详细,组件的可扩展性也比较强!一个优秀的组件最大的特点就是功能走接口,扩展靠继承,FluentValidation很华丽地做到这一点!在多层结构的项目中FluentValidation可以很好地并且方便地对模型传参进行差错校验,不止可以减少代码量,重要的一点是统一了代码风格!
谢谢浏览!
新年好呀^~^~~~,之前在博客园有幸从网友那里得知一个C#的模型验证组件(哈 不知道这样表述正确不),组件的功能比较简单,主要是实现了对Model的验证,例如验证用户名是否为空,密码长度是不是多余6个字符,当然还有其他更加灵活的的验证方法。这里介绍给大家知道一下!
该组件的名称叫“FluentValidation”,顾名思义——“流畅验证”(- -!)。
下面看一段官方网站上面给出的代码就知道为什么“流畅”了。代码如下:
using FluentValidation; public class CustomerValidator: AbstractValidator<Customer> { public CustomerValidator() { RuleFor(customer => customer.Surname).NotEmpty(); RuleFor(customer => customer.Forename).NotEmpty().WithMessage("Please specify a first name"); RuleFor(customer => customer.Company).NotNull(); RuleFor(customer => customer.Discount).NotEqual(0).When(customer => customer.HasDiscount); RuleFor(customer => customer.Address).Length(20, 250); RuleFor(customer => customer.Postcode).Must(BeAValidPostcode).WithMessage("Please specify a valid postcode"); } private bool BeAValidPostcode(string postcode) { // custom postcode validating logic goes here } } Customer customer = new Customer(); CustomerValidator validator = new CustomerValidator(); ValidationResult results = validator.Validate(customer); bool validationSucceeded = results.IsValid; IList<ValidationFailure> failures = results.Errors;
如果使用过ASP.NET MVC2.0或者以上版本的同学应该对这种代码觉得很熟悉^—^
目前该组件到了2.0版本,感觉我知道的比较晚了,下面给出相关链接:
FluentValidation首页地址:http://fluentvalidation.codeplex.com/
FluentValidation下载地址:http://fluentvalidation.codeplex.com/releases/view/59101
FluentValidation文档地址:http://fluentvalidation.codeplex.com/documentation
文档不多不过写得比较详细,组件的可扩展性也比较强!一个优秀的组件最大的特点就是功能走接口,扩展靠继承,FluentValidation很华丽地做到这一点!在多层结构的项目中FluentValidation可以很好地并且方便地对模型传参进行差错校验,不止可以减少代码量,重要的一点是统一了代码风格!
谢谢浏览!
相关文章推荐
- 模型验证组件 FluentValidation 在 ASP.NET MVC 3 下的使用篇
- [Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则
- 学习笔记:ASP.NET MVC ModelState验证模型状态
- ASP.NET MVC 2 模型验证
- ASP.NET MVC 5 (二)动态输出、辅助器方法、模型绑定与添加验证
- Asp.Net MVC entity framework模型验证
- ASP.NET MVC 中的模型和验证
- ASP.NET MVC 2博客系列之模型验证
- ASP.NET MVC 音乐商店 - 6. 使用 DataAnnotations 进行模型验证
- ASP.NET MVC 4 (十) 模型验证
- ASP.NET MVC(模型(Model),视图(View)和控制Controller)实践:实现身份验证权限管理
- ASP.NET MVC 结合EDMX 数据模型验证
- ASP.NET MVC 扩展之自定义模型验证,客户端 + 服务器端
- ASP.NET MVC 音乐商店 - 6. 使用 DataAnnotations 进行模型验证
- ASP.NET MVC 2博客系列之二:模型验证
- ASP.NET MVC学习之模型验证篇
- 《Pro ASP.NET MVC 3 Framework》学习笔记之三十一 【模型验证】(转)
- Asp.Net MVC 模型验证详解-实现客户端、服务端双重验证
- ASP.NET没有魔法——ASP.NET MVC 模型验证
- ASP.NET MVC 4 (十) 模型验证