1 つの HTML ページに複数のフォームがあります。各フォームには、同じメソッド名に対して異なる検証ロジックがあります。ただし、jQuery-validator では、以下のメソッド「equal」のように、メソッドをグローバルに追加することしかできません。
$.validator.methods.equal = function(value, element, param) {
// form1 logic
return value == param;
};
jQuery.noConflict() を試しましたが、これは form2 のメソッドを停止して form1 をオーバーライドしません。
必要な理由は、複数のポートレットを持つポータル アプリケーションを開発しているためです。各ポートレットは、独立した Web アプリケーションのようなものです (ただし、HTML、HEAD、BODY タグはなく、HTML の断片にすぎません)。各ポートレットはお互いを認識していません。それらが一緒になって単一の HTML ページを形成し、ポータルはすべてのポートレットの HTML フラグメントを結合し、共通の HTML、HEAD、BODY タグを追加します。
jQuery の複数のインスタンスまたは jQuery-validator の複数のインスタンスを許可する方法、またはカスタム バリデータ メソッドを非グローバルに宣言する方法のいずれかが必要です。
感謝します。