私はページに2つのフィールドを持っています.1つは日付用、もう1つは時間用です。asp.netの時間限定入力の検証MVCの邪魔にならない検証
これはモデルです:
[Required]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:hh:mm tt}")]
public DateTime? StartTime { get; set; }
[Required]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime Date { get; set; }
これは図である。
@Html.TextBoxFor(m => m.Date, "{0:MM/dd/yyyy}", new { type = "text" })
@Html.TextBoxFor(m => m.StartTime, "{0:hh:mm tt}", new { type = "text", id = "timeStart" })
i "は11:00 PM" または "を入力すると、javascriptの控えめな検証がしかしDate
フィールドで正常に動作します11:00 pm "StartTime
で有効性確認が表示されます
"フィールドStartTimeはdat e "
サーバー側の検証は、"0:hh:mm tt"
で問題なく動作します。問題はjavascriptのみです。今のところ私はJavaScriptのバリデーションを無効にしましたが、最終的にはこのページに載せたいと思っています
これは「時間」フィールドで行うことができますか?あなたのビューモデルで
はクライアント側で発生しません。 RegExがJavascriptで最初に検証する必要がありますか? – Vitalik
あなたのコードをもう一度見直した後、IDを「timeStart」に変更していることに気付きました。これを削除すると、検証が正しく実行されます。 – technicallyjosh
私は間違ったことをする必要があります。私はRegularExpression属性を追加する瞬間にサーバー側の検証に切り替える – Vitalik