代码之家  ›  专栏  ›  技术社区  ›  Andy Evans

使用MVC2,如何验证日期是否在给定的日期范围内?

  •  0
  • Andy Evans  · 技术社区  · 14 年前

    我有一个要求,在mvc2web应用程序中,验证用户是否至少13岁。是否有一个日期/日期时间验证属性可以让我这样做?

    1 回复  |  直到 11 年前
        1
  •  0
  •   Andrew Lewis    14 年前

    因为您不是“真正”验证日期,所以您验证的是一个等式(今天-日期>13) ,你可能得写 a custom validation attribute.

    using System.ComponentModel.DataAnnotations;
    public class AgeValidationAttribute : ValidationAttribute
        {
            public int MinAge { get; set; }
    
            public override bool IsValid(DateTime value)
            {
                if (value == null)
                {
                    return true;
                }
    
                return DateTime.Now.Subtract(value).TotalDays > (MinAge * 365.25);
            }
        }