1

相互にある程度依存している 2 つのフィールドがあります。これら 2 つのフィールド、barname と address がデータベースに既に存在する場合は、無効として返されます。

問題は、データ関数でリモート機能を使用して、一方が変更されたときに両方のフィールドを検証したことです。ただし、エラーが生成され、後でいずれかのフィールドで修正された場合、最後に変更されたフィールドのエラー メッセージのみが削除されます。

最初のフィールドが有効として戻ってきた場合、2 番目のフィールドも強制的に検証する方法はありますか?

$('#addbarform').validate({
    rules: {
        barname: {
            required: true,
            minlength: 2,
            remote: {
                url: "2011-content/includes/checkbarname.php",
                data: {
                    address: function() {
                        return $('#address').val();
                    },
                    barname: function() {
                        return $('#barname').val();

                    }
                }
            }
        },
        address: {
            required: true,
            remote: {
                url: "2011-content/includes/checkbarname.php",
                data: {
                    barname: function() {
                        return $('#barname').val();

                    },
                    address: function() {
                        return $('#address').val();

                    }
                }
            }
        }
    },
    messages: {
        barname: {
            remote: 'This bar name already exists at this address.'
        },
        address: {
            remote: 'This bar name already exists at this address.'
        }
    }
});

次のコードを使用して解決しようとしましたが、うまくいきません。

$('#barname').blur(function () {
    if ($('#barname').is(".valid") && ($('#address').is(".error"))) {
        $("#address").valid();
    }
});

$('#address').blur(function () {
    if ($('#barname').is(".error") && ($('#address').is(".valid"))) {
        $("#barname").valid();
    }
});
4

0 に答える 0