0

我已经添加了不显眼的..等所有作品,除非我的第二个日期字段有 GreaterThan

开始日期: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 作为其日期格式

4

1 回答 1

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" });
        }

    }
于 2017-07-10T10:15:14.460 回答