Прошло несколько лет, и я снова обратился к той же проблеме с MVC4, и я могу сказать, что она, очевидно, была решена.
Я создал очень простой сайт MVC4 по умолчанию и дал члену даты следующие атрибуты
[Required]
[DataType(DataType.Date)]
[Range(typeof(DateTime), "1/2/2004", "3/4/2004", ErrorMessage = "Value for {0} must be between {1} and {2}")]
public DateTime BlogDate { get; set; }
Проверка теперь отлично работает в британской системе данных, запрещая дату 1/2/2004, разрешающую дату 4/3/2004 или 26/3/2004.
Шаблон, который я использовал, использовал преимущества кода EF4, но у меня нет никаких оснований подозревать, что он вообще не был исправлен, поскольку javascript также работает правильно.
Так что, если вы используете MVC2, это все еще может быть проблемой, но лучшее решение, которое я нашел, это использовать MVC4, пока он доступен вам.