2014-02-11 43 views
0

在c#WebApi2.1中工作我遇到了以下問題。試圖讓自定義驗證屬性起作用。獲取自定義ValidationAttribute以工作web api 2

public class NullableDateTimeAsStringAttribute : ValidationAttribute 
    { 
     protected override ValidationResult IsValid(object value, ValidationContext validationContext) 
     { 
      return new ValidationResult("Do this to see if this get called ..."); 
     } 
    } 

我做了一個註解模型,像這樣的屬性:

public class Tiger 

    { 
     public String name; 
     [NullableDateTimeAsString] 
     public String BirthDay; 
    } 

結合的作品。

問題是代碼犯規得到所謂的...返回HTTPGET未經驗證錯誤...

問題1: 我需要做一些具體的事情讓這個自定義驗證屬性的工作還是應該工作一旦該屬性在模型上使用?

問題2: 有沒有其他想法?

回答

0

對不起,我不知道爲什麼或如何,但進一步的測試表明,代碼確實在我的真實場景中被調用。只是不在我的測試設置。一定在某個地方犯了一些錯誤。 要回答我的第一個問題: 不,除了使用該屬性外,還需要額外的工作才能使自定義驗證程序正常工作。 奇怪的是,調試似乎沒有工作...

+0

那些作爲控制器驗證的事情不能很容易地和完全地單元測試。由WepApi Pipeline完成,而不是控制器本身。 – Yura

相關問題