我正在开发一个 ASP.NET MVC4(Razor 视图)/JQuery 应用程序,其中我有一个 jQuery datepicker 控件连接到一个DateTime 类型的模型的出生日期属性,如下所述:
Html.TextBoxFor(m=>m.DOB, new { @class = "dp", id = "dp1",value="" })
jQuery代码:
$(function() {
$("#dp1").datepicker({
yearRange: "-70:+0",
duration: '',
changeMonth: true,
changeYear:true,
showTime: false,
constrainInput: true,
dateFormat: 'dd-mm-yy'
});
});
模型:
[Display(Name = "Date Of Birth")]
public DateTime DOB { get; set; }
如模型定义中所示,我没有使用 Required 属性修饰 DOB 属性。问题是,当我点击提交按钮时,验证器总是抱怨 ,事实DOB is required
并非如此。我能够通过使用 Html.TextBox 而不是 TextBoxFor 来绕过这个问题。但是,我需要在这种情况下使用 TextBoxFor。