我遇到了Microsoft EnterpriseLibrary验证框架的问题。
假设我们有一个DateTime?领域。当将NotNullValidator与另一个验证器一起使用时(比方说,日期时间验证器),我总是在异常中运行。
场景是:我传递一个空值。 NotNullValidator工作正常(它设置验证问题),但随后另一个验证器抛出NullReferenceException,试图将其规则应用于我传递的空值。
我尝试使用AND逻辑放置一个CompositeValidator,希望如果第一个验证器报告了一个问题,将忽略以下验证器(因为它应该使用AND逻辑)但我没有运气。
如何使NotNullValidator与其他验证器共存,第一个优先级(显然)优先于其他验证器?
答案 0 :(得分:1)
以上目前无法实现。不幸的是,复合验证器不会短路。
如果你需要这样做,我会写一个自定义验证器,快速且相对无痛。