Плагин проверки jQuery не ловит ошибки - PullRequest
0 голосов
/ 02 марта 2012

Сегодня моя первая попытка использовать плагин jQuery Validation.Моя форма для проверки координат GPS.

Вот мои правила и сообщения:

$(document).ready(function() {
    // validate form when called
    var validator =$("#box-registration").validate({
        rules: {
            latitude: {
                min: 0,
                max: 90,
                number: true
                },

            longitude {
                min: 0,
                max: 180,
                number: true
                },

            geo_dms {
                min: 0,
                max: 59,
                number: true
                }
            },
        messages: {
            latitude: "Latitude must be between 0 and 90",
            longitude: "Longitude must be between 0 and 180",
            geo_dms: "Degree minutes and seconds must be between 0 and 59"
            }
        });
    });

Вот часть формы, которую я пытаюсь подтвердить.Я пытаюсь применить проверку к элементам "geo-lat-dd" и "geo-lon-dd":

        <div id="geo-format-dd">
            <dl>
            <dt><label class="labelstandard">Latitude</label></dt>
            **<dd><input  id="geo-lat-dd" name="geo-lat-dd" type="text" class="latitude textinput100 nonewrow"/></dd>**
            <dd class="nonewrow">
                <input type="radio" name="latDD" id="latDDN" checked="checked" value="N" class="nonewrow" /><label class="nonewrow" for="latDDN">N</label>
                <input type="radio" name="latDD" id="latDDS" value="S" class="nonewrow" /><label class="nonewrow" for="latDDS">S</label>
            </dd>
            </dl>

            <dl class="newrow">
            <dt><label class="labelstandard">Longitude</label></dt>
            **<dd><input id="geo-lon-dd" name="geo-lon-dd" type="text" class="longitude textinput100 nonewrow" /></dd>**
            <dd class="nonewrow">
                <input type="radio" name="lonDD" id="latDDW" checked="checked" value="W" class="nonewrow" /><label class="nonewrow" for="lonDDW">W</label>
            </dd>
            </dl>
        </div>

К двум элементам применены классы "широта" и "долгота", и мойПравила плагинов для проверки включают эти классы (есть также поля для градусов-минут-секунд, поэтому я пытаюсь использовать классы повторно вместо использования идентификаторов).

При проверке формы с помощью команды не отображаются сообщения об ошибкахзначения, как 9999 в полях.Используя Firebug, я прошел и подтвердил, что код проверки работает, но он не возвращает никаких исключений.

В правилах я также пытался поставить точку перед селекторами, которые разбили страницу, а также заключить ее в кавычки с точкой, например ".latitude"

Можеткто-то, пожалуйста, укажите мне в правильном направлении, чтобы выяснить, что я делаю не так?

1 Ответ

1 голос
/ 02 марта 2012

Есть несколько вопросов:

  1. Вы звоните validate на селекторе #box-registration, которого нет в разметке вашего образца.
  2. Ваши параметры rules должны быть указаны в именах элементов формы. Документация не ясна по этому вопросу; похоже, они подразумевают, что правила могут автоматически совпадать с именами классов, но я не думаю, что это можно сделать так, как вы пытаетесь.
  3. В вашем JavaScript есть некоторые синтаксические ошибки. В частности, вам не хватает двоеточий в объекте правил.

Я создал эту скрипку , чтобы показать проверку работы с этими исправлениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...