使用验证应用程序块验证集合是否具有至少一个项目

时间:2009-10-21 12:33:36

标签: validation enterprise-library

使用企业库4.1验证应用程序块,如何验证集合属性是否至少包含一个项目?

2 个答案:

答案 0 :(得分:1)

我假设你的意思是开箱即用。如果是这样,那么我认为没有办法直接验证集合中的项目数。

您可以尝试以下其他方式:

  1. 判断您只处理空集合而不是空集合并使用非空验证器。但不实用。

  2. 使用自我验证并让对象在代码中验证集合具有正确数量的项目。可行,但在配置文件中进行验证很好。

  3. 将收集计数公开为属性。这可以完成,例如,假设一个雇员集合,在您的对象上包含集合的EmployeeCount属性,或者您可以创建自己的自定义集合来公开count属性。然后,您可以使用Range Validator验证Count属性。

  4. 创建一个自定义验证器,可以验证集合中的项目数 - 类似于CollectionCountRangeValidator。


  5. 如果我想快速开发一些东西,我可能会选择选项3.但是,选项4与企业库方法非常吻合,并且允许您的类设计独立于验证要求。另外,您可以随时在下一个项目中重复使用它。 :)当List能做得很好的时候,有没有人真的错过了创建自己的收藏?

答案 1 :(得分:1)

这已在EntLib Contrib中实施。 这称为CollectionCountValidator。