流畅的验证与数据注释

问题描述 投票:0回答:3

这两个验证包用于 ASP.NET MVC 验证时有哪些操作差异?他们似乎拥有相似的对象,甚至连对象名称都相似。一个与另一个相关吗?他们有什么区别?这些差异以什么方式表示不同的用例?

.net asp.net-mvc data-annotations fluentvalidation
3个回答
151
投票

我更喜欢流畅的验证

  1. 它让我可以更好地控制我的验证规则
  2. 与数据注释相比,对不同属性进行条件验证要容易得多
  3. 它将验证与我的视图模型分开
  4. 单元测试比数据注释容易得多
  5. 它对大多数标准验证规则具有出色的客户端验证支持

50
投票

注意:在评论中,原作者表示他现在更喜欢流畅的验证

我显然更喜欢数据注释因为......

  1. 所有验证规则都可以在代码中的一个位置(在模型元数据类内)进行配置,不需要在其他地方重复。
  2. 使用数据注释属性时,对客户端验证有很好的支持(再次强调——无需重复验证规则!)。
  3. 数据注释属性可以进行测试以确保它们存在。
  4. 社区创建了很好的附加验证属性(例如数据注释扩展)。

0
投票

根据我的观点,FluentValidation 比 Data Annotation 更好

首先,与数据注释相比,单元测试和配置复杂的验证规则更容易。 还有一点是这个 虽然这是一个有争议的问题,但我认为数据注释并不符合坚实的原则

© www.soinside.com 2019 - 2024. All rights reserved.