2010-05-22 4 views
0

J'ai de la difficulté à comprendre comment valider une date (DOB) en utilisant MVC2. Ce que je veux faire est 1. Est-ce que la date est entrée une date valide et, 2. Est la date au bail 13 ans dans le passé. Par exemple, pour valider un e-mail que j'utilise le code suivant:Utilisation de DataTypeAttribute pour valider une date

[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; } 

Pour valider l'e-mail que j'utilise:

public class EmailAttribute : RegularExpressionAttribute 
{   
    public EmailAttribute() 
     : base("insert long regex expression here") { } 
} 

Toute aide serait grandement appréciée, merci!

Répondre

2

Essayez ceci:

public class YearsInThePast : RangeAttribute 
{ 
    public YearsInThePast(int yearsInThePast) : base(
     typeof(DateTime), 
     DateTime.MinValue.ToString(), 
     DateTime.Now.AddYears(-yearsInThePast).ToString() 
    ) 
    { } 
} 

Et votre modèle:

public class MyModel 
{ 
    [YearsInThePast(13, ErrorMessage = "Date must be 13 years in the past")] 
    public DateTime Date { get; set; } 
} 
+0

qui a fait l'affaire. Merci pour l'aide! –

Questions connexes