c# - ASP.NET 复杂属性中的 FluentValidation
问题描述
我有以下情况。例如,我有一堂课
public class Person
{
public SchoolYear FirstYear {get; set;}
public SchoolYear SecondYear {get; set;}
}
public class SchoolYear
{
public string YearStartDate {get; set;}
public string YearEndDate {get; set;}
}
我想确保第二学年的开始是第一学年结束后的一天,我想用 FluentValidation 库来做。我怎么做?
解决方案
请你检查一下。
public class PersonValidator : AbstractValidator<Person>
{
public PersonValidator()
{
RuleFor(x => x.SecondYear).Must((p, s)=> {
var firstYear = p.FirstYear;
var secondYear = p.SecondYear;
return Convert.ToDateTime(secondYear.YearStartDate) == Convert.ToDateTime(firstYear.YearEndDate).AddDays(1);
})
.WithMessage("second school year should be ONE DAY AFTER firstYear YearEndDate ");
}
}
有关自定义验证器的更多详细信息,请关注它。
推荐阅读
- ruby - 使用winapp驱动程序右键单击系统托盘中的应用程序
- apache - Apache 服务器重定向
- php - WordPress Divi 短代码添加
- python - Python绘图图,不同区域设置颜色不同
- magento2 - Magento\Framework\Interception\PluginList\PluginList 的 $reader 参数提供的参数配置无效
- javascript - 无法使用 Apollo 和 GraphQL 从 refetchQueries 访问返回的数据
- python - 如何在 setup.py 安装中运行测试?
- sql - SQL:我需要格式化一个 Select Distinct 语句,其中一个 Case 作为值之一
- javascript - 如何解构这个深层嵌套的对象?
- android - 画布不画任何东西?科特林