これについて約 1,000 件の投稿を見てきましたが、何かを見逃していたに違いありません。
基本的に、サイトで dd/MM/yyyy 形式を使用しようとしていますが、検証時に問題が発生します。
私はViewModelを持っています:
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" })
}
ページの読み込みで、jq-date に Jquery DatePicker をアタッチします。
$("#loanForm").find(".jq-date").datepicker({ dateFormat: 'dd/mm/yy' });
表示は正常に機能しますが、保存しようとするたびに、dd/MM/yyyy 日付を使用すると日付が正しい形式ではないことがわかります。
理由はありますか?
私は1時間ほど試してきましたが、それは私を狂気に駆り立てています!
御時間ありがとうございます
トム
編集: うまくいきませんでした本当に奇妙なのは、私のラップトップでは機能しますが、デスクトップでは機能しないことです.どちらもdd / MM / yyyyで表示されます.私のラップトップは2013年8月25日を受け入れますが、デスクトップは受け入れません. ...
編集: 解決策はこちら: stackoverflow.com/a/13528769/1741443。