我正在尝试向 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 文件中设置值,验证按预期工作......