Bu kod ile bir sorun var yükseltir vermez: Ben TermEndDate = DateTime.Now
setFluentValidation değilken herhangi bir iletiyi
RuleFor(field => field.TermEndDate)
.NotEmpty()
.When(x => x.TermEndDate == x.TermStartDate)
.WithMessage("error...");
ancak hiçbir mesaj yükseltir!
Testim kodudur: TermEndDate
DateTime.Now
eşit olması asla çünkü
var now = DateTime.Now;
var command = new AddTermCommand
{
SchoolId = Guid.NewGuid(),
TermStartDate = now,
TermEndDate = now
};
var cmd = command.Validate();
if (!cmd.IsValid)
Console.WriteLine(cmd.Errors.First().ErrorMessage);
'DateTime.Now' =' 'DateTime.Now'' önce şimdi!. –
Ne yapmaya çalışıyorsun? Doğal dilde olmasını istediğiniz doğrulama kuralını ifade edebilir misiniz? Sormamın nedeni, validatorun ne zaman çalışması gerektiğini sınırlamak için 'When' yönteminin kullanılmasıdır. Bir doğrulama kuralı belirtmez. –
'When()' kullanmaya çalışıyorum ama işe yaramıyor! – CodeMan