Есть ли какая-либо проверка по умолчанию для MVC 5, где я могу установить минимальное и максимальное значение даты?
В моей модели мне нужна проверка даты
public class MyClass
{
[Required(ErrorMessage="Start date and time cannot be empty")]
//validate:Must be greater than current date
[DataType(DataType.DateTime)]
public DateTime StartDateTime { get; set; }
[Required(ErrorMessage="End date and time cannot be empty")]
//validate:must be greater than StartDate
[DataType(DataType.DateTime)]
public DateTime EndDateTime { get; set; }
}
Ps: Согласно этому сайту Asp.Net, существует проблема с использованием валидатора Range
для DateTime, и это не рекомендуется.
Примечание. Проверка jQuery не работает с атрибутом Range и DateTime. Например, следующий код всегда отображает ошибка проверки на стороне клиента, даже если дата указана в указанный диапазон:
[Range(typeof(DateTime), "1/1/1966", "1/1/2020")]
Вам необходимо отключить проверку даты jQuery, чтобы использовать атрибут Range с DateTime. Как правило, не очень хорошая практика скомпилировать даты в ваших моделях, поэтому использование атрибута Range и DateTime не рекомендуется.
Я также знаю, что есть пакеты Nuget, такие как Свободная проверка и Foolproof, что делает трюк для проверки и проверки, если одна дата больше, чем другая, но я хотел знать, есть ли по умолчанию что-то, чтобы проверить дату min и max.
Из того, что я увидел в Что нового в MVC 5.1, есть поддержка MaxLength
и MinLength
.