作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要捕获模型属性的日期和时间。在我的模型类中,我有以下内容
[Required]
[DataType(DataType.DateTime)]
public DateTime? CallBackDate { get; set; }
当我输入有效的日期时间(例如 28/05/2015 15:55
)时,我不断收到此错误 The field CallBackDate must be a date.
我见过类似的问题并尝试了各种答案,但似乎没有什么可以摆脱这个问题。我正在使用不显眼的客户端验证,但无法禁用它。
输入字段的来源具有以下标记
<input autocomplete="off" class="jquery_datetimepicker form-control hasDatepicker" data-val="true" data-val-date="The field CallBackDate must be a date." data-val-required="The CallBackDate field is required." id="CallBackDate" name="CallBackDate" placeholder="Enter your CallBackDate" type="text" value="">
jquery 日期时间选择器具有以下标记
$('.jquery_datetimepicker').datetimepicker({
dateFormat: 'dd/mm/yy',
minDate: 0,
showWeeks: true,
showStatus: true,
highlightWeek: true,
numberOfMonths: 1,
showAnim: "scale",
showOptions: {
origin: ["top", "left"]
},
timeFormat: 'hh:mm tt'
});
有什么想法吗?谢谢
最佳答案
由于 jquery.validate.unobtrusive.min.js 中的 MVC 错误(即使在 MVC 5 中),可能会出现客户端验证问题,该错误不以任何方式接受日期/日期时间格式 。它不是由日期选择器或浏览器引起的。不幸的是你必须手动解决它。
我最终的工作解决方案:
您必须在之前包含:
@Scripts.Render("~/Scripts/jquery-3.1.1.js")
@Scripts.Render("~/Scripts/jquery.validate.min.js")
@Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js")
@Scripts.Render("~/Scripts/moment.js")
您可以使用以下方式安装 moment.js:
Install-Package Moment.js
然后您终于可以添加日期格式解析器的修复:
$(function () {
$.validator.methods.date = function (value, element) {
return this.optional(element) || moment(value, "DD.MM.YYYY", true).isValid();
}
});
关于jquery - 如何修复 mvc 中日期时间属性上的 'The field must be a date',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30510221/
我是一名优秀的程序员,十分优秀!