相互にある程度依存している 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();
}
});