Я смотрю на эту документацию пример . Это выглядит как полезно. Например, у меня есть следующая модель представления:
class CustomerViewModel
{
public string Name {get; set;}
public List<int> Roles {get; set;}
}
Я хотел бы проверить, существуют ли все Roles
в моей базе данных. Я пытаюсь что-то вроде:
class CustomerViewModel : IValidatableObject
{
public string Name {get; set;}
public List<int> Roles {get; set;}
public async Task<IEnumerable<ValidationResult>> Validate(ValidationContext validationContext)
{
await Task.Delay(123); /// imagine that it's database call
// and so on
}
}
И сюрприз! Это невозможно. Это не работает. Потому что нет асин * c версии Validate
(Можно ли проверить мою модель в модели? Или мне нужно написать отдельные службы проверки?