2015-11-17 56 views
0

我使用WEB API 2. 在我的要求下2-數據註釋驗證,無重複我通過請求作爲MYTYPE的Web API的請求

收集
MyType has following properties: 

Id(int), 
PaymentId(int). 

我需要以下驗證。請求的每個Id都應該是唯一的。

我需要編寫自定義驗證還是存在任何內置的DataAnnotationValidation?

回答

0

我能想到的唯一方法是編寫繼承IValidatableObject的模型類或爲整個模型編寫自定義驗證屬性。 Web API將在自定義驗證邏輯上驗證您的模型。

public class MyModel : IValidatableObject 
{ 
    public IEnumerable<MyType> MyTypes { get; set;} 

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) 
    { 
     foreach(var myType in this.MyTypes) 
     { 
      // do validation logic 
      if (error) 
      { 
       yield return new ValidationResult("All Ids must be unique!") 
      } 
     } 
    } 
}