stream利的validation与数据注释

您更喜欢哪种方法来进行ASP.NET MVCvalidation?为什么? stream利的validation ? 数据注释 ? 任何其他?

我更喜欢stream利的validation :

  1. 它使我更好地控制我的validation规则
  2. 与数据注释相比,对不同属性进行条件validation要容易得多
  3. 它将validation从我的视图模型中分离出来
  4. 与数据注释相比, unit testing要容易得多
  5. 它对大多数标准validation规则具有出色的客户端validation支持

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

  1. 所有validation规则都可以在代码中 (在模型元数据类中)configuration在一个地方,不需要在其他地方重复。
  2. 当使用数据注解属性时,对客户端validation (再次 – 不重复validation规则!)有极好的支持。
  3. 数据注解属性可以被testing以确保它们在那里。
  4. 还有很好的附加validation属性 (如数据注释扩展 )。