26

ここにあるバリデータプラグインを使用してフォームを検証しています。

私が抱えている問題は、フォーム入力要素の周りに次を配置すると、検証が失敗することです:

<div style="display:none;"><input type="text" name="test" /></div>

入力要素に他の UI コントロール レイヤーを使用していて、それらを表示したくないため、これが必要です。

インライン要素とブロック要素で機能しますが、非表示にする必要があります。とにかくこれを回避する方法はありますか?

フィードバックをお寄せいただきありがとうございます

アップデート:

私は主にdjangoを使用して選択オプションフィールドを検証しています(つまり: {{form.select_option_element}} )

効果的に:

<div style="display:none;">
    {{form.select_option_element}}
</div>

...動作しません

投稿した直後に、次の方法で解決しているようです:

<div style="visibility: hidden; height: 0;">
     {{form.select_option_element}}
</div>

その後、フィールドを検証できます。

4

5 に答える 5

56

jQuery Validateの 1.9.0 変更ログから:

  • 修正 #189 - :hidden 要素がデフォルトで無視されるようになりました

オンに戻すには、次の手順を実行します。

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

コードで実際の検証プラグインを呼び出す前に、これが表示されることを確認してください。

これが役立つことを願っています!

于 2012-09-06T21:21:29.007 に答える
1

入力要素に style 属性を追加しようとしましたか? したがって、divでラップする代わりに、次を試してください。

<input type="text" name="test" value="" style="display: none;" />
于 2012-09-06T20:57:39.527 に答える
0

できることは 2 つあります。

1)この入力フィールドのように、検証に失敗しない値を静的に設定できます

<div style="display:none;"><input type="text" name="test" value="default" /></div>

2) 検証方法でこの値を無視したい場合。

より詳細なコードを提供していただければ幸いです。

于 2012-09-06T20:59:48.543 に答える