#c# #asp.net-core #fluentvalidation
#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. Как мне это сделать?
Ответ №1:
Не могли бы вы, пожалуйста, проверить это.
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 ");
}
}
Для получения более подробной информации о пользовательском валидаторе следуйте ему.