【发布时间】:2015-08-05 05:37:06
【问题描述】:
之前有人问过这个问题,但答案并没有解决我的问题。 问题是我总是在 datetime 字段中收到以下错误。
创建时间字段必须是日期。
我的尝试
这是我设置日期格式的模态
[Display(Name = "Created Time")]
[DataType(DataType.Date), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> CreatedTime { get; set; }
查看代码
<div class="form-group">
@Html.LabelFor(model => model.CreatedTime, "Timesheet Date")
<div class='input-group date' id='Datetimepicker1'>
@Html.TextBoxFor(model => model.CreatedTime, new { @class = "form-control" })
<span class="input-group-addon"> <span class="glyphicon glyphicon-calendar"></span> </span>
</div>
@Html.ValidationMessageFor(model => model.CreatedTime, "", new { @class = "text-danger" })
</div>
在js中
$('#CreatedTime').removeAttr("data-val-date");
$('#Datetimepicker1').datetimepicker({ format: 'DD/MM/YYYY' });
还尝试更改jquery.validate.js功能date: function (value, element)如下但无法解决问题。
if ($.browser.webkit) {
//ES - Chrome does not use the locale when new Date objects instantiated:
var d = new Date();
return this.optional(element) || !/Invalid|NaN/.test(new Date(d.toLocaleDateString(value)));
}
else {
return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
}
访问过的链接
The field must be a date - DatePicker validation fails in Chrome - mvc
The field date must be a date in mvc in chrome
还有更多链接和网站,但无法解决问题
【问题讨论】:
-
您使用的是哪个日期选择器 - jquery-ui? (并且不要使用
$('#CreatedTime').removeAttr("data-val-date");) -
@StephenMuecke 我正在使用 bootstrap datetimepicker 来显示日期
-
参考this answer - 在加载 jquery 和引导程序后尝试添加脚本(但不在 document.ready 中)
标签: javascript jquery google-chrome date asp.net-mvc-5