0

我有一个包含日期字段的基本表单,我想在IValidatableObject. 该字段的类型映射到 DateTime 属性,因此如果有人输入 26/15/2011,您如何在 Validate 方法中选择它?严格来说,它几乎就像用没有意义的 DateTime 验证 DateTime 对象。关于如何解决这个问题或如何检测到错误日期的任何想法?

4

1 回答 1

1

在您的方法上实现 IValidatableObject 并对此字段进行验证

例如

public class YourModel : IValidatableObject
{
    public YourModel()
    {
    }

    [Required(ErrorMessage = "date  is required")]
    public string Date { set; get; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        DateTime result;
        bool parseDone = DateTime.TryParse(Date, out result);
        if (!parseDone)
        {
             yield return new ValidationResult(Date + "is invalid", new[] { "Date" });
        }            
    }
}

我建议在客户端使用 jquery validate 和 jqueryUI calendar

希望能帮助到你

于 2011-05-26T22:00:13.100 回答