我已經看到約1k這個帖子,但我一定錯過了一些東西。MVC4格式日期不驗證與DisplayFormat值
基本上,我試圖在我的網站中使用dd/MM/yyyy格式,驗證時發生問題。
我有一個視圖模型:
public class LoanBaseViewModel
{
public int LoanId { get; set; }
[Required]
[DataCompareValidation("ReturnDate", ErrorMessage = "Return date should be later than loan date")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime LoanDate { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
[DataType(DataType.Date)]
public DateTime? ReturnDate { get; set; }
}
在我EditorTemplate我有這個:
@model System.Nullable<System.DateTime>
@if (Model.HasValue)
{
@Html.TextBox("", String.Format("{0:dd/MM/yyyy}", Model.Value), new { @class = "jq-date" })
}
else
{
@Html.TextBox("", "", new { @class = "jq-date" })
}
在頁面加載我附上一個jQuery的DatePicker在JQ-日期。
$("#loanForm").find(".jq-date").datepicker({ dateFormat: 'dd/mm/yy' });
顯示效果還算不錯,但每次我試圖以節省時間,它告訴我,日期格式不正確,如果我使用DD/MM/YYYY日期。
任何想法爲什麼?
我一直在嘗試像一個小時,它讓我瘋狂!
感謝您的時間
湯姆
編輯: 沒有工作更好 什麼是真正奇怪的是,它在我的筆記本電腦的工作,而不是在我的桌面兩人都在DD/MM/YYYY顯示日期,我的筆記本電腦接受25/08/2013但不是我的桌面...
編輯: 解決方案是在這裏:stackoverflow.com/a/13528769/1741443。
嗨,謝謝你的回答。我確實使用瞭如下的init日期選擇器:$(「#loanForm」)。find(「。jq-date」)。datepicker({dateFormat:'dd/mm/yy'});我不知道這是提高錯誤的日期選擇器,但更像是後期的數據驗證。 – Tom
如果失敗了,你有沒有想過將你的文化設置從en-US改爲** en-GB **,這會立即爲你改變日期。 [http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.dataformatstring.aspx]引用格式方法顯示在en-US的默認示例中的事實,即mm/DD/YY。 – Springbokkie
試過en-GB在我的桌面上沒有改變。但我的筆記本電腦正在接受dd/MM/yyyy日期。 – Tom