2

我在这样的视图模型中有一个 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 来添加日期选择器,

<script type="text/javascript">
    $('#DateOfBirth').datepicker({
        yearRange: '1906:1994',
        changeMonth: true,
        changeYear: true,
        showAnim: 'bounce'
    });
</script>

如果我选择一个日期,例如 1981 年 7 月 19 日,1981 年 7 月 19 日,它会将值作为 01/01/0001 12:00:00 AM 传递给控制器​​,我收到错误“值 '07/19/1981 ' 对出生日期无效。” 我注意到,如果当天的值是 12 或更少,它会通过,但如果一天高于 12,它将失败。所以我尝试将日期选择器中的格式更改为

dateFormat: 'dd/mm/yy'

然后当我提交表单时,它会给出错误“出生日期字段必须是日期”。

我需要做什么来解决这个问题?如果可能的话,我希望能够将日期显示为月/日/年。

4

2 回答 2

0

尝试像这样使用日期时间选择器:

$("#StartDate").datetimepicker({ timeFormat: 'hh:mm:ss', dateFormat: 'dd.mm.yy' });

您可以从此链接中包含时间选择器。我认为您提供的格式是错误的,请检查 MSDN 以获取正确的日期时间格式字符串,但在我的情况下有效。您还可以向日期选择器添加正确的格式。

于 2012-06-23T17:24:18.043 回答
0

而不是提到yearRange,尝试minDate,maxDate之类

minDate: new Date(1906,0,1),
maxDate: new Date(1994,11,31)
于 2012-06-23T17:44:13.200 回答