Как проверить IEnumerable класса в другом IEnumerable класса, используя свободную проверку - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть эти классы

public class CryptocurrencyDto
{
    public int RequestId { get; set; }
    public IEnumerable<Cryptocurrency> Cryptocurrencies { get; set; }
}

public class Cryptocurrency : BaseClass
{
    public string Ticker { get; set; }
    public string Name { get; set; }
    public double TotalSupply { get; set; }
    public double CirculatingSupply { get; set; }
    public IEnumerable<Note> Notes { get; set; }
}

public class Note
{
    public int NoteId { get; set; }
    public string Description { get; set; }
    public IEnumerable<Url> Urls { get; set; }
    public byte Image { get; set; }
    public int DisplayOrder { get; set; }
}

public class Url
{
    public string UrlId { get; set; }
    public string Link { get; set; }
    public string Description { get; set; }
}

У меня есть эта конечная точка

    [HttpPost]
    public void Post([FromBody] CryptocurrencyDto cryptocurrency)
    {

    }

Как я могу проверить через эти классы? Пока я знаю только, как проверить первый класс CryptocurrencyDto. Я не знаю, как добраться до других классов. Криптовалюта, Примечание и URL.

1 Ответ

0 голосов
/ 13 апреля 2020

Когда вы добавили FluentValidation к своим тегам вопросов, это Collection Validation с использованием FluentValidation:

public class CryptocurrencyDtoValidator : AbstractValidator<CryptocurrencyDto> {
  public CryptocurrencyDtoValidator() {
    RuleForEach(x => x.Cryptocurrency).NotNull();
  }
}

Дополнительная информация

Но есть много других способов использовать проверку для связанных классов (например, T или IEnumerable<T>):

  1. Создать и использовать ValidationAttribute: Дополнительная информация

  2. Реализация IValidatableObject: Дополнительная информация

  3. Проверка любых связанных классов на уровне Controller.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...