[英]Problem with custom jQuery.validator rule
我对此代码有疑问,似乎无法解决:
$.validator.addMethod('street_address', function (value, element) {
var address = value + ', ' + $(element).parent().parent().find("#venue_city_id option:selected").text(),
geocoder = new google.maps.Geocoder(),
that = this;
geocoder.geocode({address: address}, function (results, status) {
return that.optional(element) || status == google.maps.GeocoderStatus.OK;
});
}, 'invalid address');
它可以使不正确的地址(Google无法对其进行地理编码的地址)无效。 问题是即使返回true,我仍然会收到“无效地址”。 关于可能是什么问题的任何想法?
您从内部回调返回
geocoder.geocode({address: address}, function (results, status) {
return that.optional(element) || status == google.maps.GeocoderStatus.OK;
});
不是来自验证器功能。
此外, geocoder.geocode
执行,我相信,AJAX的异步查询,所以你不能就能够告诉你离开时,验证您的位置是否是“geocodeable”。 在jQuery验证中,应该有一个针对此类情况的特定验证器,称为remote
或诸如此类,该验证器基于ajax查询的结果进行验证。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.