2

私はJqueryが初めてです。私は14のフィールドを持つフォームで作業しています

最初の 7 つのフィールドが表示され、次の 7 つのフィールドは div 内のボタンのクリックに基づいて切り替えられます。現在、合計で7 つのフィールド「必須」です。最初の7(可視部分)から3つ、トグルdivから4つ。

問題は、トグル div が表示されている場合、JQuery の検証プラグインは、7 つのフィールドのいずれかが欠落している場合に必要なメッセージを表示しますが、同じプラグインが3 つのフィールド (フォームの表示部分にある)のみの検証をチェックするだけです。は隠されています。これが正常な状態です

フォームの一部が非表示の場合でも完全なフォームの検証を行う方法テキスト ボックスアドレス 1 の値を削除し、アドレス パーツを非表示にして[保存] をクリックすると、アドレス 1に必要なものを入力するプロンプトが表示されません。「必須」のままにしました これが条件2

4

1 に答える 1

11

考えられる理由はignore: ':hidden'、ファイルに行があることである可能性がありjquery.validate.unobtrusive.jsます。その行を削除するだけです。

1.9.0バージョン以降は、デフォルトの動作でした。その行がファイルに存在しない場合(よくわかりません)、追加して手動で修正できます

$.validator.setDefaults({ ignore: [] });

あなたがここで見ることができるように

別の変更により、非表示の要素を含むフォームのセットアップが簡単になります。これらはデフォルトで無視されるようになりました(オプション「ignore」には「:hidden」がデフォルトとして含まれるようになりました)。理論的には、これは既存の設定を壊す可能性があります。万が一、実際にそうなる場合は、ignore-optionを「[]」(引用符なしの角かっこ)に設定することで修正できます。

于 2012-04-18T06:32:55.023 に答える