2010-02-02 60 views
1

我遇到Microsoft EnterpriseLibrary驗證框架問題。MS企業庫驗證問題

假設我們有一個DateTime?領域。當與另一個驗證器(假設,日期時間驗證器)一起使用NotNullValidator時,我總是運行一個異常。

該方案是:我傳遞一個空值。 NotNullValidator工作正常(它設置了驗證問題),但是另一個驗證器拋出一個NullReferenceException,嘗試將其規則應用於我傳遞的空值。

我試着用AND邏輯放置一個CompositeValidator,希望如果第一個驗證器報告了一個問題,下面的驗證器將被忽略(因爲它應該與AND邏輯),但我沒有運氣。

如何使NotNullValidator與其他驗證器共存,讓第一個優先(明顯)優先於其他驗證器?

回答

1

以上目前不可能。不幸的是,複合驗證器不會短路。

如果你需要這樣做,我只會寫一個自定義驗證器,快速和相對無痛。