通过DataAnnotations在MVC应用程序中的字段上设置Maximum DateTime

时间:2012-04-23 17:25:50

标签: c# asp.net-mvc datetime model-view-controller data-annotations

我需要找到将DateTime字段限制为今天日期的最佳方法。我需要确保用户不会在将来选择日期,并且我正在尝试找出在C#MVC应用程序中执行此操作的最佳方法。

我可以,我会通过Javascript在客户端进行。 我想弄清楚的是在服务器端通过DataAnnotations做到这一点的最好方法吗?

我是否可以使用DataAnnotations属性来指定max DateTime?或者通过数据注释不是一个好方法,因为我的MaxDate每天都会改变到当天?

我应该只通过C#编程逻辑进行验证吗?

1 个答案:

答案 0 :(得分:2)

我的某个应用中有类似内容

 public sealed class DateEndAttribute : ValidationAttribute
{
    public string DateStartProperty { get; set; }
    public override bool IsValid(object value)
    {
        // Get Value of the Date property
        string dateString = HttpContext.Current.Request[YourDateProperty];
        DateTime dateNow = DateTime.Now
        DateTime dateProperty = DateTime.Parse(dateString);

        // 
        return dateProperty < dateNow;
    }
}