我一直在使用流畅的验证工作,并且遇到了一个问题,无论如何,选择的日期都无效。
以下是规则:
RuleFor(c => c.UserPickedDate)
.LessThanOrEqualTo(DateTime.Now)
.WithMessage("Cannot use a future date.");
这样做的目的是限制用户选择今天或之前的日期。
此外,当覆盖属性名称时,此可以,例如:
RuleFor(c => c.UserPickedDate.Date)
.LessThanOrEqualTo(DateTime.Now.Date)
.WithMessage("Cannot use a future date.");
这在某种意义上起作用,它使任何未来的日期无效,因此用户无法提交表单,但由于某种原因它不显示消息,而上面的那个(仅适用于所有日期)。当我使用.OverridePropertyName
时,我回到了与以前相同的位置,在所选的所有日期(过去,现在和将来)都无效。