フィールドの 1 つが変更されたときにフィールドを再検証する際に問題が発生しています。より具体的には、任意の数のフィールド (ユーザーはニュースを追加したり、既存のニュースを削除したりできます) を処理する必要があり、合計が 100 を超えることはできないとします。
私が今していることは次のとおりです。
//This basically works on change of the input
$.validator.addMethod('inputBox', checkAmount, 'Value exceeds maximum quantity');
function checkAmount(value, element) {
if (sumAmounts() <= 100) {
return true;
}
return false;
}
2 つの inputBox があるとします: - 1 つ目に 80 を入力 - 2 つ目に 30 を入力 - 2 つ目が赤くなり、「値が最大数量を超えています」というエラーが表示されます <-自分!- [送信] を押します。どちらも赤くなり、エラーが表示されます <- 私にとっては問題ありません! - 検証ルールに合わせて 2 つのうちの 1 つを編集します (どちらでも構いません)。
ボックスの 1 つを変更し、それらの値の合計が 100 未満になると、すべてのボックスが「有効」になるようにします。
true または false を返す前に、checkAmount() 関数に次のメソッドを挿入しようとしました: $('inputBox').validate() / .valid(); / 。変化する(); / $('フォーム').validate(); / さらに $('inputBox').focus(); これは機能しますが、無限ループを通過します xD
なにか提案を?