jquery ui datepicker 和 mvc View 模型类型 datetime

标签 jquery asp.net-mvc datetime datepicker viewmodel

我在我的 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/

相关文章:

javascript - jquery onclick 切换图像 src

asp.net-mvc - asp.net mvc - 如何快速高效地创建假测试对象

c# - MVC4 不在浏览器中保存 cookie

c - 如何获取另一个时区的夏令时状态

javascript - MomentJS 在给定的持续时间内获取下一个指定的日期

javascript - jQuery 在 Shield UI 中自定义 X 轴的刻度重复

javascript - Jquery ScrollTop 为 ID 倍数 + SetTimeout

javascript - 查找客户的大致物理位置

c# - 从模型中的 IEnumerable 填充下拉列表,设置选定值

swift - 显示 24 小时时间,带 0