ビュー モデルの DateTime フィールドを 2 つの個別のフォーム フィールド (日付と時刻) にレンダリングしています。私のビューには次のコード行があります。
@Html.TextBox("EndTime.Date", Model.EndTime.ToShortDateString())
次のようにレンダリングされます。
<input data-val="true" data-val-date="The field Date must be a date."
data-val-required="The Date field is required." id="StartTime_Date"
name="StartTime.Date" type="text" value="29/09/2012">
- この入力フィールドに data-* 属性が追加されているのはなぜですか?
- なぜそれがデートだとさえ思うのですか?
この予期しない検証の興味深い副作用は、フィールドが日付として検証されることです (偶然にもこれが必要です) が、jquery が間違った日付形式を使用することを決定しているため、エラーが発生します:
「フィールド日付は日付でなければなりません。」
更新: 「間違った日付形式」エラーは、Chrome のバグが原因であることが判明しました。JQuery 検証ライブラリは新しい を作成して日付を検証し、
Date()
Chrome は常に日付を en-US として解析するように見えるため (ロケール/言語設定を完全に無視して)、en-UK の日付を入力すると失敗していました。