流畅的验证与数据注释

当用于 ASP.NET MVC 验证时,这两个验证包之间的操作区别是什么?他们似乎有相似的对象,所有的方式,他们的对象名称。这两者之间有联系吗?他们有什么不同?这些差异以何种方式表示不同的用例?

35007 次浏览

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

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

我更喜欢 流畅验证:

  1. 它使我能够更好地控制验证规则
  2. 与数据注释相比,对不同的属性执行条件验证要容易得多
  3. 它将验证与视图模型分离开来
  4. 与数据注释相比,单元测试 要容易得多
  5. 它为大多数标准验证规则提供了出色的客户端验证支持