2015-11-17 4 views
0

Я использую WEB API 2. В моей просьбе я передать запрос как Коллекция MyTypeWeb API 2- Аннотации данных валидации Нет Дубликаты в Запросе

MyType has following properties: 

Id(int), 
PaymentId(int). 

мне нужна следующая проверка. Каждый идентификатор запроса должен быть уникальным.

Должен ли я писать пользовательскую проверку или существует ли встроенное 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!") 
      } 
     } 
    } 
} 
Смежные вопросы