我添加了不引人注意的......等所有作品,除非我在第二个日期字段中有大笔数据
StartDate:2017/02/25 12:00 AM 结束日期:2017/02/25 01:03 PM
它似乎认为结束日期不是更大,我假设它做一个字符串比较与正确的日期,因为这是一个有效的范围,因为结束日期大于开始,但如果我们正在做一个字符串比较然后结束日期不是更大
这是我的代码
[Required]
[DataType(DataType.DateTime)]
[Display(ResourceType = typeof(DisplayResources), Name = "StartDateTime")]
public DateTime StartDateTime { get; set; }
[Required]
[DataType(DataType.DateTime)]
[Display(ResourceType = typeof(DisplayResources), Name = "EndDateTime")]
[GreaterThan("StartDateTime")]
public DateTime EndDateTime { get; set; }
`
更新 这是我使用的https://eonasdan.github.io/bootstrap-datetimepicker/组件,它使用moment.js作为日期格式
答案 0 :(得分:0)
我认为这适合你。
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (StartDateTime> EndDateTime)
{
yield return
new ValidationResult(errorMessage: "End date must be greater than Start date",
memberNames: new[] { "EndDateTime" });
}
}