我在我的 View 模型上使用 jquery datepicker
这是我的观点:
@Html.TextBoxFor(o => o.JobStartDate, new { id = "dt1", @class = "input-block-level" })
@Html.ValidationMessage("JobStartDate")
和我的脚本:
$("#dt1").datepicker({ dateFormat: "dd/mm/yy" });
如果我的日期 <= 12,则一切正常,如果我的日期超过 12,它将显示一条验证错误消息,指出“字段开始日期必须是日期”。 (我正在使用jquery验证)
例如:日期 16/12/2014 会给我错误,而 12/12/2014 则不会
这是我的 View 模型:
[Required]
[DataType(DataType.Date)]
[Display(Name = "Start Date")]
public DateTime JobStartDate { get; set; }
我怀疑我的 View 模型预计格式为 mm/dd/yyyy 的日期,而在我的日期选择器上我指定了 dd/mm/yy,有没有办法告诉我的 View 模型我期待 dd/mm/yy 格式,以便在日期 >= 12 时不会抛出错误消息。
最佳答案
您可以查看使用 jquery globalize或将以下内容添加到您的脚本中(当然假设服务器区域性日期格式为“dd/MM/yyy”)
$.validator.addMethod('date', function (value, element) {
if (this.optional(element)) {
return true;
}
var valid = true;
try {
$.datepicker.parseDate('dd/mm/yy', value);
}
catch (err) {
valid = false;
}
return valid;
});
$('#dt1').datepicker({ dateFormat: 'dd/mm/yy' });
请使用@Html.ValidationMessageFor(m => m.JobStartDate)
关于jquery ui datepicker 和 mvc View 模型类型 datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27285458/