Итак, у меня есть собственный валидатор, проверяющий введенный почтовый индекс по моей базе данных допустимых почтовых индексов.
Мой пользовательский метод выглядит следующим образом:
jQuery.validator.addMethod("validZip", function(value, element){
var _id = $(element).attr("id");
$.post(
'/xpress/wp-admin/admin-ajax.php',
{action:"test_checkZip", zip:value},
function(response){
if (result == 0){
return false;
} else {
return true;
}
}
);
}, '*');
Проблема, на мой взгляд, состоит в том, что, поскольку ajax не блокирует задержку запроса, он не возвращает истинный / ложный результат для валидатора во время его распознавания.
Всякий раз, когда результат должен быть истинным, он не может скрыть сообщение об ошибке, и форма не может быть отправлена.
Мне удалось скрыть сообщение об ошибке в блоке возврата истинного кода, явно скрыв элемент ошибки. Сообщение об ошибке скрывается, однако , форма по-прежнему возвращает false, поскольку пользовательский метод не может вернуть true.
Я сделал что-то не так? Как я могу обойти эту проблему?
Большое спасибо.