我在我的视图模型上使用
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验证) 例如:2014年12月16日的日期将给我错误,而12/12/2014则不会 这是我的视图模型:
[required] [DataType(DataType.Date)] [Display(Name = "Start Date")] public DateTime JobStartDate { get; set; }
我怀疑我的视图模型预期格式为mm / dd / yyyy的日期,而在我的datepicker上我指定了dd / mm / yy,有没有办法告诉我的viewmodel我期待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)