簡體   English   中英

jQuery驗證插件:Packer未定義錯誤?

[英]jQuery Validation Plugin: Packer undefined error?

我正在使用bassistance.de的jQuery驗證插件 工作正常。

<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功能。

我究竟做錯了什么?

$("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
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM