2010-05-22 57 views
0

我很難理解如何使用MVC2驗證日期(DOB)。我想要做的是1.日期是否進入有效日期,以及2.日期是否過去13年。例如,爲了驗證我用下面的代碼的電子郵件:使用DataTypeAttribute驗證日期

[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") { } 
} 

任何援助將不勝感激,謝謝!

回答

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; } 
} 
+0

該訣竅。謝謝您的幫助! – 2010-05-22 15:31:08