Фальсификация ошибки с помощью jQuery validate - PullRequest
0 голосов
/ 10 февраля 2011

У меня есть форма, использующая jQuery validate. Работает нормально, но у меня следующая проблема.

У меня есть текстовое поле, которое является обязательным для заполнения. У меня есть другой фрагмент кода, который выполняется нажатием кнопки (не отправка формы), которая проверяет, заполнено ли поле и, если это так, выключается и выполняет поиск в геокоде Google. Если адрес не найден, мне нужно сообщить jQuery, что это поле недействительно, и запретить отправку формы. Я попытался вручную просто установить для класса текстовой области значение «error» и создал элемент error, то есть метку, но это не мешает отправке формы.

Есть идеи, ребята?

Спасибо Al

1 Ответ

1 голос
/ 10 февраля 2011

Попробуйте это:

$(document).ready(function(){
    $.validator.addMethod("searchgeo", function(value, element) {
        $.ajax({
            type: "POST",
            url: "http://"+location.host+"/searchgeo.php",
            data: "address="+value,
            dataType:"html",
        success: function(msg)
        {
            // if the address exists, it returns a string "true"
            if(msg == "true")
                return false;
            return true;
        }
    })
}, "invalid address");

$("#form").validate({
    address: {
        searchgeo: true
    },
    messages: {
        address: {
            searchgeo: "This address does not exists"
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...