0

必須であると検証されたラジオグループがあります。場合によっては、最初のラジオ ボタンを無効にして、ユーザーが残りの 1 つを選択できるようにする必要がある場合を除いて、正常に動作します。この場合でも、無線は検証されますが、エラー メッセージは表示されません。エラーメッセージが最初のラジオに関連付けられているためだと思います。最初以外の他のラジオを無効にしても問題なく動作します。回避策はありますか?

4

2 に答える 2

0

条件付き検証の質問のいくつかを見るかもしれません

于 2009-10-29T14:55:36.527 に答える
0

jQuery Validate 1.6 プラグインを使用していますが、1.7 の変更ログを確認したところ、修正されたようには見えません。

これが発生する理由は、検証プラグインにバグがあり、最初のラジオ ボタンが無効になっている場合、そのグループの残りのラジオ ボタンが無効と見なされないためです。

プラグイン コードをステップ実行すると、defaultShowErrors 関数に表示されます。最初にラジオ グループが強調表示され、次に強調表示が解除されます。

ハイライトを解除する前にこれを追加することにより、独自のハイライト解除メソッドでこれを修正できます。

注: これは応急処置です。

if (this.invalid[$e.attr('name')] !== undefined) { return; }

これは、ラジオ グループ名が無効なリストに含まれているかどうかを確認します。そうであれば、ハイライト解除を停止します。

于 2011-02-01T16:17:02.613 に答える