Asp.net-Mvc-3

在驗證時給出所需錯誤的日期欄位

  • February 25, 2016

我在我的 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; }

我沒有申請

$$ Required $$數據註釋,但是當我嘗試保存表單時,它說是必填欄位。在數據庫中它為空。 請提出解決方案。

這很正常。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; }

引用自:https://stackoverflow.com/questions/9239451