2

JQueryの控えめな検証といくつかのカスタムバリデーターを使用してMVC4プロジェクトをセットアップしました。これらの1つは日付範囲バリデーターであり、2つのテキストフィールドがビューモデル上の1つのオブジェクトに渡されます(「PropertyName」.Minおよび「PropertyName」.Maxとして)。

フィールドの検証と、これらのテキストフィールドに基づいて検証するバリデーターメソッドの取得に問題はありませんでした(「PropertyName」と呼ばれるダミーの非表示フィールドを使用しています)。ただし、検証はフィールド "'PropertyName'"に関連付けられているため、'PropertyName'.Minおよび'PropertyName'.Maxは強調表示されません。

バリデーターメソッドでクラスをまとめてみました

$(dateRangeMin).removeClass("input-validation-error");
$(dateRangeMin).removeClass("valid");
$(dateRangeMax).removeClass("input-validation-error");
$(dateRangeMax).removeClass("valid");

次に、検証に基づいてこれらのクラスを割り当てますが、一貫して機能していないようです。

もうそれをやっつける前に、検証結果を別のフォームフィールドに渡すための組み込みの方法を知っている人はいますか?

更新:最小と最大の日付フィールドが個別に検証され、検証に合格するため、ボッジは機能しません。そのため、検証をこれらのフィールドにも関連付ける方法を探しています。

ありがとう

デイブ

4

1 に答える 1

1

この問題の核心は、モデル上の1つのアイテムを表す複数の入力があることだと私には思えます。

その場合、そこから進むには2つの方法があります。

  1. 各ユーザー入力がモデルの一意のプロパティで表されるビューモデルアプローチに切り替えます。

  2. jQuery検証グループをご覧ください。例えば

http://docs.jquery.com/Plugins/Validation/validate#toptions

JQueryは1つのエラーで複数のフィールドを検証します

于 2012-06-18T10:27:34.870 に答える