2011-05-06 44 views
1

不知道我在做什麼錯。我正在使用jQuery Validation插件。這是我的jQuery代碼:jQuery驗證插件無法識別有效輸入

$('#form-login').validate({ 
    onsubmit: true, 
    onfocusout: false, 
    errorClass: 'invalid', 
    wrapper: 'li', 
    errorLabelContainer: '#login-error-list ul', 
    errorContainer: '#login-error-list', 
    highlight: function(element, errorClass) { 
     $(element).addClass(errorClass); 
     $(element.form).find('label[for=' + element.id + ']') 
      .addClass(errorClass); 
    }, 
    unhighlight: function(element, errorClass) { 
     $(element).removeClass(errorClass); 
     $(element.form).find('label[for=' + element.id + ']') 
      .removeClass(errorClass); 
    }, 
    rules: { 
     username: 'required', 
     password: 'required' 
    }, 
    messages: { 
     username: 'Please enter your username.', 
     password: 'Please enter your password.' 
    } 
}); 

我在編寫本文時非常仔細地跟蹤了API文檔。但是,無論輸入什麼內容(無論是否有效),它仍然會拋出錯誤,就好像用戶名和/或密碼沒有輸入一樣。您可以在this login page上看到自己。

任何人都知道問題可能是什麼?

PS:我想補充一點生成表單和錯誤容器中的HTML代碼:

<p>Already have an account with us? Then log in!</p> 
<form action="login.php" method="post" id="form-login"> 
<input type="hidden" name="success_page" value="" /> 
<div class="group"> 
    <label for="username">Username:</label> 
    <input type="text" name="username" id="username" title="Username" maxlength="20" min="6" max="20" /> 
</div> 
<div class="group"> 
    <label for="password">Password:</label> 
    <input type="password" name="password" id="password" title="Password" min="6" /> 
</div> 
<div id="login-error-list" class="group" style="display: none;"> 
    <p>Errors:</p> 
    <ul></ul> 
</div> 
+1

這是一個很長的鏡頭 - 但這可能是jQuery 1.6(本週早些時候發佈)的一個問題。我知道他們改變了attr()的工作方式,並且它在Validation插件中使用得非常多。也許嘗試鏈接到1.5.2。 – 2011-05-07 00:09:52

+0

我使用1.5.2而不是從jQ​​uery網站抓取最新版本,但問題仍然存在,因爲您仍然可以在原始帖子中鏈接到的登錄頁面上看到問題。 (提高你的評論,因爲它是有道理的,我只是有一天attr()有問題。) – TerranRich 2011-05-07 01:31:45

+0

我認爲它的工作。我使用了以下插件 試試這個js文件 – 2011-05-07 04:58:48

回答

3

刪除您的自定義消息,你會看到什麼真正的問題是:

http://jsfiddle.net/DLcLJ/

將兩個輸入設置爲只接受數字> 6。

我假設你想要的是最小長度。用minlength替換兩個min屬性,並刪除最大用戶名。

+1

糟糕!我認爲這些是新的HTML5屬性。我責備Dreamweaver CS5讓他們在打字時彈出,我自己做出假設。它現在有效 - 謝謝! – TerranRich 2011-05-08 02:30:34

相關問題