0
我使用WEB API 2. 在我的要求下2-數據註釋驗證,無重複我通過請求作爲MYTYPE的Web API的請求
收集MyType has following properties:
Id(int),
PaymentId(int).
我需要以下驗證。請求的每個Id都應該是唯一的。
我需要編寫自定義驗證還是存在任何內置的DataAnnotationValidation?
我使用WEB API 2. 在我的要求下2-數據註釋驗證,無重複我通過請求作爲MYTYPE的Web API的請求
收集MyType has following properties:
Id(int),
PaymentId(int).
我需要以下驗證。請求的每個Id都應該是唯一的。
我需要編寫自定義驗證還是存在任何內置的DataAnnotationValidation?
我能想到的唯一方法是編寫繼承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!")
}
}
}
}