我有一個關於在Asp.net MVC4日期驗證的問題。 我用數據註解日期驗證如下Modelstate總是拋出無效的日期時間錯誤
[DataType(DataType.Date)]
[AllowHtml]
[DisplayFormat(HtmlEncode = false, ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
[Display(Name = "Date Of Birth")]
public Nullable<System.DateTime> DateOfBirth { get; set; }
接下來,在HTML頁面時,我正在使用MVC HTML表單
@Html.TextBoxFor(model => model.UserSettings.DateOfBirth,
String.Format("{0:dd/MM/yyyy}",
model.UserSettings.DateOfBirth),
new { id = "DoB", @class = "brth-ipt" })
最後下面,我使用一個jQuery的日期選擇器如下
$(function() {
$("#DoB").datepicker("destroy");
$("#DoB").datepicker({
showOn: "both",
beforeShow: customRange,
dateFormat: "dd/mm/yy", //"mm-dd-yy",
firstDay: 1,
changeFirstDay: false,
changeMonth: true,
changeYear: true,
yearRange: "-150:+0"
});
});
我的問題是,當我選擇從日期選擇一個日期,它顯示爲毫米/ dd/yyyy格式並能正常工作。
但是當我再次加載頁面來編輯窗體時,它以mm-dd-yyyy格式顯示。現在,當我保存表單而沒有修改前一個日期(mm-dd-yyyy格式)時,我無法保存表單,因爲Data annotation vaidation正在向我發送一個錯誤。 「日期不是有效格式」。
我無法解決此問題。