Плагин проверки jQuery: упаковщик не определил ошибку? - PullRequest
0 голосов
/ 15 мая 2010

Я использую плагин проверки jQuery от bassistance.de. Работает нормально.

С <head>:

<script type="text/javascript" src="/static/JQuery.js"></script>
<script type="text/javascript" src="/static/js-lib/jquery.validate.pack.js"></script>
<script type="text/javascript" src="/static/js-lib/jquery.validate.additional-methods.js"></script>

Сначала это был единственный код проверки, который у меня был, и он работал:

$("form").validate();
$("#form-username").rules("add", {
    required: true,
    email: true,
});

Это проверял этот HTML:

            <form id="form-username-form" action="api/user_of_email" method="get">
                <p>
                <label for="form-username">Email:</label>
                <input type="text" name="email" id="form-username" />
                <input type="submit" value="Submit" id="form-submit" />
                </p>
            </form>

Отлично, все работает. Но потом я добавляю этот JS:

$("#form-choose-options input[type='text']").rules("add", {
    number: true,
});

, чтобы проверить эту разметку:

            <form id="form-choose-options" action="api/set_options" method="get">
                <p>
                    <label for="form-min-credits">Min credits per term:</label><input type="text" name="min_credits" id="form-min-credits" /> <br />
                    <label for="form-optimal-credits">Optimal credits per term:</label><input type="text" name="optimal_credits" id="form-optimal-credits" /> <br />
                    <label for="form-max-credits">Max credits per term:</label><input type="text" name="max_credits" id="form-max-credits" /> <br />
                    <label for="form-low-GPA">Lowest acceptable GPA:</label><input type="text" name="low_GPA" id="form-low-GPA" /> <br />
                    <label for="form-high-GPA">Highest realistic GPA:</label><input type="text" name="high_GPA" id="form-high-GPA" /> <br />
                    <input type="hidden" class="user-pk" name="pk"/>
                    <input type="submit" value="Submit" />
                </p>
            </form>

Это вызывает ошибку JavaScript при загрузке документа:

$.data(f.form, "validator") is undefined

Ошибка из функции packer.

Что я делаю не так?

1 Ответ

1 голос
/ 15 мая 2010
$("form").validate();
$("#form-username").rules("add", {
    required: true,
    email: true,
});

У вас есть запятые в ваших объектах. Удалите последнюю запятую в определениях ваших объектов, и все должно работать нормально.

$("form").validate();
$("#form-username").rules("add", {
    required: true,
    email: true //Comma removed
});

А другой ваш объект ...

$("#form-choose-options input[type='text']").rules("add", {
    number: true //Comma removed
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...