アプリケーションを jQuery Validate 1.7 から 1.11 に移動し、すべてのビューのコードを 1.10 バージョンと同期するように変更しました。
ただし、シナリオでvalidate.js
は、null オブジェクト例外がスローされます。
この例外がスローされる js の関数に絞り込みましたが、問題を引き起こしている特定の LOC に到達できません/新しいバージョンと互換性がありません。
トラブルシューティング中に の 1.7 バージョンを使用しましたがvalidate.js
、すべて正常に動作しているようです。
この問題をデバッグ(ツール/その他の方法)または解決する方法について、誰かが情報を共有できますか?
注: コードを共有することはできません。
解決策: これがこの問題を解決する正しい方法であるか、またはアルゴリズムを変更する必要があるかをお知らせください。
この問題は、ケース 2 からケース 1 に移行する際に発生しました (問題のコメントを参照)。このシナリオでは、チェックされた「チェックボックス」のみがグループではなくサーバーに戻されます。
そのため、validatetargetFor は、渡された要素がグループではなくコントロールであるため、validate.js で失敗し、index [0]
エラーがスローされます。
validationTargetFor: function (element) {
// if radio/checkbox, validate first element in group instead
if ( this.checkable(element) ) {
element = this.findByName( element.name ).not(this.settings.ignore)[0];
}
return element;
},
次のように変更しました。
validationTargetFor: function (element) {
// if radio/checkbox, validate first element in group instead
if (this.checkable(element)) {
if (this.findByName(element.name).not(this.settings.ignore)[0] == undefined)
return element;
else
return this.findByName(element.name).not(this.settings.ignore)[0];
}
return element;
},