我的模型有一個這樣的日期欄位:
我的模型有一個這樣的日期欄位。
[Display(Name = "Date of Birth")]
[Required(AllowEmptyStrings = false, ErrorMessage = "This field is required." )]
[Range(typeof(DateTime), "1/1/2000", "1/1/2010", ErrorMessage = "date is out of Range")]
public string DOB { get; set; }
在我的視圖中,我有這個欄位:
@Html.TextBoxFor(m => m. DOB, new { @class = "form-control", @id = "dob", type = "date" })
@Html.ValidationMessageFor(m => m.DOB)
該日期總是無效的,即使該日期是在范圍之內。
uj5u.com熱心網友回復:
你有沒有試過用一個Datetime道具來驗證? 比如說:
[Display(Name = "Date of Birth")]
[Required(ErrorMessage = "This field is required." )]
[Range(typeof(DateTime), "1/1/2000", "1/1/2010", ErrorMessage = "date is out of Range")]
[DataType(DataType.Date)]
public DateTime DOB { get; set; }
uj5u.com熱心網友回復:
你的DOB是一個字串型別,但你試圖驗證DateTime型別。你可以做一個自定義的驗證器,或者你可以嘗試做一些像這樣的作業
。public string DOB
{
set { DobDateTime= DateTime.Parse(value); }
}
[NotMapped]。
[Display(Name = "Date of Birth")]
[Required(ErrorMessage = "This field is required." )]
[Range(typeof(DateTime), "1/1/2000", "1/1/2010", ErrorMessage = "date is out of Range")]
[DataType(DataType.Date)]
public DateTime DOBDateTime { get; set; }
在這種情況下,你將不得不在用戶界面上使用DOBDateTime
。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/331776.html
標籤:
下一篇:如何在C#中進行多行輸入?

