Проверка JQuery - несколько групп - PullRequest
2 голосов
/ 01 февраля 2011

Я разрабатываю пользовательский элемент управления, который имеет следующее:

  • текстовое поле с именем 'AddressInput'
  • плагин для карт Google
  • кнопка ссылки
  • текстовое поле для заголовка маркера с именем «MarkerTitleInput»
  • кнопка «Отправить»

Проблема заключается в следующем:

Когда нажимается кнопка ссылки, мне нужно проверить, что AddressInput был завершен, но ничего больше

Когда нажата кнопка отправки, мне нужно проверить, что AddressInput и MarkerTitleInput были завершены.

Итак, мои первые две проблемы: 1) Как я могу проверить определенные поля из кнопки ссылки, не отправляя форму 2) Как я могу проверить все поля в отправляемой форме

Моя другая проблема заключается в том, что при нажатии кнопки ссылки мой код выполняет поиск по геокоду Google, чтобы получить адрес. Я собирался создать дополнительный метод проверки для обработки, когда адрес не найден, но использование средства проверки означает, что запрос json отправляется при каждом нажатии клавиши, что слишком много - я хочу, чтобы проверка работала только тогда, когда кнопка ссылки щелкнул. Я пробовал (selector).validate({ onkeyup:false }) безрезультатно. Возможно ли вручную установить, будет ли метод .valid() считать форму верной?

Спасибо Al

Ответы [ 2 ]

2 голосов
/ 04 октября 2012
$("form").validate({

      groups:{

          pg1:"_Phone1 _Phone2 _Phone3",

          pg2:"dob_month dob_day dob_year"

      },

      errorPlacement:function(error, element){

      if(element.attr("name")=="_Phone1"|| element.attr("name")=="_Phone2" || element.attr("name")=="_Phone3"){

        error.insertAfter("#_Phone3")
      }

      else if
        (element.attr("name")=="dob_month"|| element.attr("name")=="dob_day" || element.attr("name")=="dob_year"){

        error.insertAfter("#dob_year")
      }

      else

        error.insertAfter(element);

      },

      });

});
0 голосов
/ 01 февраля 2011

Дайте каждой из двух кнопок уникальный класс (для простоты нацеливания в jQuery).

Дайте каждому классу событие OnClick.

Подтвердить в событии OnClick.

Если проверка прошла успешно, верните true.

В противном случае верните false.

...