任何人都有C#MVC的出生日期validation属性?

有人必须在此之前写过:-)

我需要一个出生日期的validation属性来检查日期是否在特定范围内 – 即用户尚未输入尚未发生的日期或过去150年。

感谢您的任何指示!

[DateOfBirth(MinAge = 0, MaxAge = 150)] public DateTime DateOfBirth { get; set; } // ... public class DateOfBirthAttribute : ValidationAttribute { public int MinAge { get; set; } public int MaxAge { get; set; } public override bool IsValid(object value) { if (value == null) return true; var val = (DateTime)value; if (val.AddYears(MinAge) > DateTime.Now) return false; return (val.AddYears(MaxAge) > DateTime.Now); } } 

您可以使用内置的Range属性 :

 [Range(typeof(DateTime), DateTime.Now.AddYears(-150).ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd"), ErrorMessage = "Date of birth must be sane!")] public DateTime DateOfBirth { get; set; }