2010-05-14 28 views
0

我使用bassistance.de中的jQuery驗證plugin。它工作正常。jQuery驗證插件:Packer未定義的錯誤?

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