【发布时间】:2014-04-23 03:24:31
【问题描述】:
我在 viewmodel 中以正确格式显示日期时遇到问题,并且验证也不起作用,请参阅图片
。
正如我看到许多帖子提到他们设法解决了它无需需要在客户端设置日期格式。所以我不希望在客户端设置日期格式,这意味着通过 jQueryUI datepicker 或任何用于在客户端格式化的方法。但无论我尝试什么,它似乎都没有采用 ViewModel 的格式。
我知道这个问题已经在这里发布了很长时间,但对我来说似乎没有任何效果。这是我尝试过的列表,但没有一个对我有用
Unable to set datetime format in MVC 4 using data annotations
-- 不知道为什么它可以工作,因为我在数据注释中尝试了日期和日期时间
Validate DateFormat In Mvc
--> 试过了还是不行
Jquery dd/MM/yyyy date format validation --> 包含 jquery-ui-i18n.js 对我来说似乎有点矫枉过正,我不想在客户端设置。
所以任何人都可以建议我错过了什么? 或者我可以说 DataFormatString 如果不在客户端做额外的工作就完全没用了吗?
这是我的视图模型
public class DateModel
{
[Display(Name = "StartDate")]
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yy}")]
public Nullable<DateTime> StartDate { get; set; }
[Display(Name = "EndDate")]
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yy}")]
public Nullable<DateTime> EndDate { get; set; }
}
我的观点
<div class='editor-field'>
@Html.EditorFor(model => model.StartDate)
@Html.ValidationMessageFor(model => model.StartDate)
</div>
<div class='editor-label'>
@Html.LabelFor(model => model.EndDate)
</div>
<div class='editor-field'>
@Html.EditorFor(model => model.EndDate)
@Html.ValidationMessageFor(model => model.EndDate)
</div>
【问题讨论】:
标签: jquery asp.net-mvc-4 datepicker