gpt4 book ai didi

jquery - 如何修复 mvc 中日期时间属性上的 'The field must be a date'

转载 作者:行者123 更新时间:2023-12-03 21:55:31 26 4
gpt4 key购买 nike

我需要捕获模型属性的日期和时间。在我的模型类中,我有以下内容

[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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com