【发布时间】:2016-06-10 22:28:07
【问题描述】:
在我的 ASP.NET MVC 应用程序中,我使用 Fluent Validation 来验证我的模型。请查看我的模型:
[Table("INWARDDOCUMENTS")]
public class InwardDocument{
.......................
[Column("DOCDATE")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}"),Display(Name="Document date")]
public DateTime? DocDate { get; set; }
........................
}
这是流畅的验证部分:
RuleFor(doc => doc.InwardDocument.DocDate.Value.Date).LessThanOrEqualTo(DateTime.Now.Date).When(x=>x.InwardDocument.DocDate!=null).WithMessage("Document date cannot be greater than the current date");
总的来说,它工作正常,但平均每 3 周我会收到此验证错误,尽管模型值输入正确。如您所见,如果输入了日期,我会将模型的日期部分与今天的日期部分进行比较。所以不涉及小时或分钟。我在调试模式下输入了相同的信息,但没有收到此验证错误。唯一的解决方法是重新启动 IIS。这足以让问题消失。知道为什么吗?
【问题讨论】:
标签: asp.net-mvc datetime fluentvalidation