为什么要使用流畅的验证而不是ASP.NET MVC验证

在哪种情况下你会选择 FluentValidation (FV)ASP.NET MVC 3 way

FV与MVC有什么优势?我意识到,随着后者,我们必须编写更多的代码,并可以用数据注释来丢弃代码。此外,使用FV比MVC编写自定义验证似乎更容易。然而,使用MVC可以使用数据注释并插入jQuery验证。

那么你的看法会让你选择一个呢?在这种情况下,你甚至会使用两者吗?

解决方法

流利的验证是建立专门的验证对象,当你想要把验证逻辑从业务逻辑分离,你会使用的一种方式。面向方面的编程(AOP)范例使得能够横切关注分离的系统内,和验证是一种这样的担忧。分离验证有助于清理您的域代码,并使其更具凝聚力,以及给你一个地方去寻找验证逻辑。

MVC注释驱动的验证是一种非常“便宜”的方法来获得一些基本的验证到一个应用程序,而不用去创建专门的验证器对象的麻烦,创建一个验证系统,组织它们并将其全部插入。这很容易设置,但可以使您的域对象不那么干净。

对于所有的验证逻辑可以使用注解来处理小系统,我只想使用注释,因为他们是那么容易成立建议。对于更大,更复杂的系统,我建议使用验证器对象来分离验证问题。

我个人喜欢使用两种方法:将验证属性添加viewmodel类(这意味着注释不会混淆我的域对象),以及在我的域图层中具有专用的验证器对象。这是一个少量的重复,但使用注释是如此的快速和容易,我觉得值得额外的维护成本。

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....