-2
不正な検証でdatetimeフィールドを有効にするために試行錯誤しています。MVC Unobtrusive ValidationでDateTimeを正しく妥当性検証する方法はありますか?
入力が01/01/2017 10:00
であれば、私は、フィールドが、[フィールド識別子]日付でなければなりません
を取得します。
ただし、フィールドは日付ではなく、datetimeである必要があります。
パラメータは、私のモデルでは、このように設定されている:
[Display(Name = "Start")]
[DataType(DataType.DateTime)]
public DateTime start { get; set; }
私はcorrectally日時入力してフィールドを検証することができませんでした。
どうすればいいですか?
あなたが表示したコードは、クライアント側の検証エラーが '01/01/2017 10:00 '(' $ .validator'で 'date'メソッドをオーバーライドしたのでない限り)。クライアント側でエラーが発生した場合は、有効な日付ではない値を入力したためです。 –
これはカルチャーエラーと思われますが、web.configで正しいカルチャを設定しても、クライアントのバリデーションでは、ローカライズされたカルチャではなくMM/dd/yyyyの日付が必要です。 –
サーバー内のカルチャはブラウザに影響しません。デフォルトでは、 'jquery.validate.js'はMM/dd/yyyy形式の日付を検証します。しかし、 '01/01/2017 10:00'は 'MM/dd/yyyy'または' dd/MM/yyyy'のいずれかで渡されます)。一方、あなたの入力が '20/1/2017'(1月20日)であるとすると、クライアント側のエラーが生成されます。そのような場合は、バリデーターを再設定するだけで済みます。しかし、これはあなたが州に質問するものではありません。それがあなたが経験しているものであれば、質問を編集してください。私はあなたにそれを解決する答えを与えることができます。 –