如何使用 lambda 表达式进行验证以验证某个小时是否为某个 "type"(必须为 hh:00 或 hh:30)

how to use a lambda expression for a validation to verify if an hour s a certain "type"(has to be hh:00 or hh:30)

RuleFor(m => m.StartDate)
    .NotEmpty().WithMessage(x => Validation.EventMessages.EmptyStartDate)
    .GreaterThanOrEqualTo(DateTime.UtcNow).WithMessage(x => Validation.EventMessages.StartDatePast).When(m => m.EndDate.HasValue)
    .LessThan(DateTime.UtcNow.AddMonths(1)).WithMessage(x => Validation.EventMessages.StartDateFuture).When(m => m.EndDate.HasValue)
    .LessThan(m => m.EndDate.Value).WithMessage(x => Validation.EventMessages.GreaterThan).When(m => m.EndDate.HasValue)
    .LessThan(m => DateTime.UtcNow.AddMinutes(15)).WithMessage(x => Validation.EventMessages.CancellationTimeSpanLess).When(m => m.EventStatus == (int)EventStatusEnum.cancelled)
    .Must(CanBook).WithMessage(x => Validation.EventMessages.Limit);

我必须创建一个包含 StartDate、EndDate、userid 等的事件。StartDate 是 Datetime,我必须进行此验证,事件的 StartDate 必须是 hh:00 或 hh:30. 这就是我用于所有其他验证(向上)的内容。

试试这个:

RuleFor(x => x.CreatedDate)
    .Must(x => (x.Minute == 0 || x.Minute == 30) /*&& x.Second == 0*/)
    .WithMessage("Your Message here")
    //other validations