【发布时间】:2013-08-05 11:29:15
【问题描述】:
我已经看到了大约 1000 条关于此的帖子,但我一定错过了什么。
基本上,我尝试在我的网站中使用 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 日期,它会告诉我日期格式不正确。
知道为什么吗?
我已经尝试了大约一个小时,这让我发疯了!
感谢您的宝贵时间
汤姆
编辑: 没有更好的工作 真正奇怪的是它可以在我的笔记本电脑上工作,但不能在我的桌面上工作,它们都以 dd/MM/yyyy 显示日期,我的笔记本电脑接受 25/08/2013 但不是我的桌面......
编辑: 解决方案在这里:stackoverflow.com/a/13528769/1741443。
【问题讨论】:
标签: .net asp.net-mvc-4 ef-code-first