我在理解如何使用MVC2验证日期(DOB)方面遇到了一些困难。我想要做的是1.日期是否为有效日期,2。日期是否过去13年。例如,要验证电子邮件,请使用以下代码:
[Required(ErrorMessage = "Email address is required.")]
[StringLength(320, ErrorMessage = "Email must be less than 320 characters.")]
[Email(ErrorMessage = "This email address is invalid.")]
public string email { get; set; }
验证我使用的电子邮件:
public class EmailAttribute : RegularExpressionAttribute
{
public EmailAttribute()
: base("insert long regex expression here") { }
}
非常感谢任何帮助,谢谢!
答案 0 :(得分:2)
试试这个:
public class YearsInThePast : RangeAttribute
{
public YearsInThePast(int yearsInThePast) : base(
typeof(DateTime),
DateTime.MinValue.ToString(),
DateTime.Now.AddYears(-yearsInThePast).ToString()
)
{ }
}
你的模特:
public class MyModel
{
[YearsInThePast(13, ErrorMessage = "Date must be 13 years in the past")]
public DateTime Date { get; set; }
}