Поле даты, указывающее требуемую ошибку при проверке - PullRequest
8 голосов
/ 11 февраля 2012

Я создал модель на своем веб-сайте asp.net MVC 3, и у меня есть свойство с именем DateOpened:

  [Column("Date Opened")]
        [Display(Name = "Date Opened:")]
        [DataType(DataType.Date)]
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
        public DateTime DateOpened { get; set; }

Я не применил [Обязательные] аннотации данных к нему, но когда я пытаюсь сохранить форму, в поле появляется обязательное поле. В базе данных это ноль.

Пожалуйста, предложите решение.

1 Ответ

15 голосов
/ 11 февраля 2012

Это нормально. DateTime - это тип значения, означающий, что ему всегда потребуется значение. Поставщик метаданных модели в ASP.NET MVC автоматически добавляет обязательный атрибут к необнуляемым типам данных. Вы можете использовать обнуляемый DateTime:

[Column("Date Opened")]
[Display(Name = "Date Opened:")]
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? DateOpened { get; set; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...