Использование DataTypeAttribute для проверки даты - PullRequest
0 голосов
/ 22 мая 2010

Мне сложно понять, как проверить дату (DOB) с помощью MVC2. Что я хочу сделать, это: 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") { }
}

Любая помощь будет принята с благодарностью, спасибо!

1 Ответ

2 голосов
/ 22 мая 2010

Попробуйте это:

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; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...