FoolProof MVC GreaterThan无法使用时间

时间:2017-02-26 00:52:27

标签: asp.net-mvc validation foolproof-validation

我添加了不引人注意的......等所有作品,除非我在第二个日期字段中有大笔数据

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作为日期格式

1 个答案:

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

    }