jquery-validation プラグインにカスタム検証メソッドを追加しようとしています。国コード、郵便番号、市区町村を指定して、ajax 経由で php スクリプトを呼び出して、この組み合わせが存在するかどうかを確認し、存在する場合は「有効」を返します。
したがって、追加したメソッドは次のようになります。
jQuery.validator.addMethod("zipcitycombination", function(city, element, params) {
//function check zip and city
var country = params[0];
var zip = params[1];
$.ajax({
type: 'GET',
url: '/?eID=tx_zipcity',
async: false,
data: 'country=' + country + '&zip=' + zip+ '&city=' + city,
success: function(data){
response = ( data == 'valid' ) ? true : false;
}
})
return response;
}, "Please check your combination");
そして今、私はこのような検証を使用しようとしています:
$("#commentForm").validate({
rules: {
delivery_city: {
zipcitycombination:[$('select[name="amsdelivery_country"]').val(),$('input#delivery_zip').val()]
}
}
したがって、zipcitycombination を除いて、すべて正常に動作します。
[$('select[name="delivery_country"]').val(),$('input#delivery_zip').val()],
入力フィールドの値ではなく、空の値を使用するためです。html ファイルに既に値を設定すると、検証は期待どおりに機能します...