我有这些课程
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。
发布于 2020-04-13 18:18:19
当您将FluentValidation添加到问题标签时,这是使用FluentValidation的Collection Validation:
public class CryptocurrencyDtoValidator : AbstractValidator<CryptocurrencyDto> {
public CryptocurrencyDtoValidator() {
RuleForEach(x => x.Cryptocurrency).NotNull();
}
}但还有许多其他方法可以使用关联类的验证(例如T或IEnumerable<T>):
ValidationAttribute:Controller级别中的任何关联类。https://stackoverflow.com/questions/61184282
复制相似问题