7 javascript jquery google-chrome date asp.net-mvc-5
之前已经问过这个问题,但答案并没有解决我的问题.问题是我总是在datetime字段中收到以下错误.
字段创建时间必须是日期.
我的尝试
这是我设置日期格式的模态
[Display(Name = "Created Time")]
[DataType(DataType.Date), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> CreatedTime { get; set; }
Run Code Online (Sandbox Code Playgroud)
查看代码
<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>
Run Code Online (Sandbox Code Playgroud)
在js
$('#CreatedTime').removeAttr("data-val-date");
$('#Datetimepicker1').datetimepicker({ format: 'DD/MM/YYYY' });
Run Code Online (Sandbox Code Playgroud)
也尝试改变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));
}
Run Code Online (Sandbox Code Playgroud)
访问过的链接
该字段必须是日期 - Chrome中的DatePicker验证失败 - mvc
还有更多的链接和网站,但无法解决问题
尝试一下
将此 js 代码保留在$(document).ready();. 仅在标签内部<script>Here</script>。
$(function () {
$.validator.addMethod('date',
function (value, element) {
if (this.optional(element)) {
return true;
}
var ok = true;
try {
$.datepicker.parseDate('dd/mm/yy', value);
}
catch (err) {
ok = false;
}
return ok;
});
$("#ID").datepicker({ dateFormat: 'dd/mm/yy', changeYear: true });
});
Run Code Online (Sandbox Code Playgroud)
希望它会有所帮助。就我而言,它正在发挥作用。
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |