我正在使用WEB API 2。 在我的请求中,我将请求作为Collection of Mytype传递
MyType has following properties:
Id(int),
PaymentId(int).
我需要以下验证。请求的每个Id都应该是唯一的。
我是否需要编写自定义验证,或者是否存在内置的DataAnnotationValidation?
答案 0 :(得分: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!")
}
}
}
}