138

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

4

2 回答 2

132

我更喜欢流利的验证

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

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

  1. 所有验证规则都可以在代码中的一个位置(在模型元数据类中)配置,并且不需要在其他任何地方重复。
  2. 使用Data Annotation属性时,对客户端验证有很好的支持(同样——无需重复验证规则!)。
  3. 可以测试数据注释属性以确保它们存在。
  4. 社区创建了一些不错的附加验证属性(例如Data Annotations Extensions)。
于 2011-07-24T14:49:27.193 回答