モデルにプロパティがありDateTime
ますが、時間の部分だけに関心があります。
public class MyModel
{
[Required, DataType.Time]
public DateTime Time
}
私の見解では、次のように出力します。
@Html.EditorFor(model => model.Time)
これは、MVC 3 で次の html を生成するために使用されます。
<input class="text-box single-line" data-val="true"
data-val-required="The Time field is required."
id="Time" name="Time" type="time" value="" />
今、私はMVC 4でこれを試しています.これは生成されたhtmlです:
<input class="text-box single-line" data-val="true"
data-val-date="The field Time must be a date."
data-val-required="The Time field is required."
id="Time" name="Time" type="time" value="" />
追加の属性がdata-val-date
追加されており、時刻 (例: "10:30") が日付としてフォーマットされていないため、クライアント側の検証エラーが発生します。
これは MVC 4 のバグだと思います (報告しました)。しかし、解決されるまで、この属性が生成されないようにする方法はありますか? またはさらに良いことにdata-val-time
、代わりに生成する方法があるので、時間フィールドに独自のクライアント側検証メソッドを提供できますか?