我在这样的视图模型中有一个DateOfBirth字段,
[Required]
[DataType(DataType.Date)]
[Display(Name = "Date Of Birth")]
public DateTime DateOfBirth { get; set; }
以及具有此功能的视图
<li>
@Html.LabelFor(m => m.DateOfBirth)
@Html.TextBoxFor(m => m.DateOfBirth)
</li>
和一些jQuery添加datepicker,
<script type="text/javascript">
$('#DateOfBirth').datepicker({
yearRange: '1906:1994',
changeMonth: true,
changeYear: true,
showAnim: 'bounce'
});
</script>
如果我选择日期,例如1981年7月19日的07/19/1981,它会将值传递给控制器01/01/0001 12:00:00 AM,我收到错误“值'07 / 19/1981'对于出生日期无效。“我注意到,如果当天的价值是12或更低,它会通过,但如果当天高于12,它将失败。所以我尝试将datepicker中的格式更改为
dateFormat: 'dd/mm/yy'
然后当我提交表单时,它会给出错误“字段出生日期必须是日期”。
我需要做些什么来解决这个问题?如果可能的话,我希望能够将日期显示为月/日/年。
答案 0 :(得分:0)
尝试使用这样的日期时间选择器:
$("#StartDate").datetimepicker({ timeFormat: 'hh:mm:ss', dateFormat: 'dd.mm.yy' });
您可以在此link中添加时间戳。我认为您提供的格式是错误的检查MSDN正确的日期时间格式字符串,但在我的情况下工作。 您还可以为日期选择器添加正确的格式。
答案 1 :(得分:0)
不要提及yearRange,请尝试minDate,maxDate就像
minDate: new Date(1906,0,1),
maxDate: new Date(1994,11,31)