如何使用流利的验证来在一个类的另一个IEnumerable中验证一个类的IEnumerable

问题描述 投票:0回答:1

我有这些课程

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。我不知道该如何到达其他班级。加密货币,注释和网址。

c# asp.net-core asp.net-web-api asp.net-web-api2 fluentvalidation
1个回答
0
投票

有很多方法可以对关联的类使用验证(例如TIEnumerable<T>):

  1. 创建并使用ValidationAttribute

  2. 实施IValidatableObject

  3. FluentValidation等第三方软件包]

  4. Controller中检查它

© www.soinside.com 2019 - 2024. All rights reserved.