使用企业库4.1验证应用程序块,如何验证集合属性是否至少包含一个项目?
答案 0 :(得分:1)
我假设你的意思是开箱即用。如果是这样,那么我认为没有办法直接验证集合中的项目数。
您可以尝试以下其他方式:
判断您只处理空集合而不是空集合并使用非空验证器。但不实用。
使用自我验证并让对象在代码中验证集合具有正确数量的项目。可行,但在配置文件中进行验证很好。
将收集计数公开为属性。这可以完成,例如,假设一个雇员集合,在您的对象上包含集合的EmployeeCount属性,或者您可以创建自己的自定义集合来公开count属性。然后,您可以使用Range Validator验证Count属性。
创建一个自定义验证器,可以验证集合中的项目数 - 类似于CollectionCountRangeValidator。
如果我想快速开发一些东西,我可能会选择选项3.但是,选项4与企业库方法非常吻合,并且允许您的类设计独立于验证要求。另外,您可以随时在下一个项目中重复使用它。 :)当List能做得很好的时候,有没有人真的错过了创建自己的收藏?
答案 1 :(得分:1)
这已在EntLib Contrib中实施。 这称为CollectionCountValidator。