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 としてコントローラーに渡され、「The value '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 に答える