2013-02-18 202 views
0

我在成員數據修改的形式使用jQuery驗證。表格中有三個字段,即原始密碼(passwordOrig),新密碼(password)和密碼確認(passwordSecond)。我想確保用戶輸入所有人都不是。我如何使用jQuery來做到這一點?jquery驗證:密碼更改和確認

以下是我想出了:

$("#accountData").validate({ 
    rules: { 
    passwordOrig: {checkPassword: true}, 
    password: {validChars: true, noSpace: true, minlength: 5},  
    passwordSecond: {equalTo: "#password"}, 
    ... 
    } 
    message: { 
    ... 
    } 

在上面,checkPasswordvalidCharsnoSpace添加方法。

+0

還請在表單中加入HTML。 – Sparky 2013-02-18 16:01:39

回答

1

您需要確保在一組給定字段的最小數量要麼填寫或留空 - additional-methods.js有滿足這一要求的方法,稱爲skip_or_fill_minimum

要使用這個規則,你加個班在輸入你感興趣的

<input class="mygroup" name="fname" id="fname"> 
<input class="mygroup" name="sname" id="sname"> 
<input class="mygroup" name="other" id="other"> 

然後指定規則說你需要多少填補了,你的情況這三個,並且你已經使用了類,在這種情況下MYGROUP。

... 
rules : { 
fname : {skip_or_fill_minimum: [3,".mygroup"]}, 
sname : {skip_or_fill_minimum: [3,".mygroup"]}, 
other : {skip_or_fill_minimum: [3,".mygroup"]}, 
}, 
... 

有使用姐妹函數require_from_group in this answer

+0

我試過你的建議,它的工作原理。非常感謝。 – 2013-02-24 08:59:23

2

您將需要包括additional-methods.js文件,並使用名爲skip_or_fill_minimum內含規則的一個很好的例子。

添加一個共同的class到相關input領域:

<form id="accountData"> 
    <input type="text" class="pw" name="passwordOrig" /> 
    <input type="text" class="pw" name="password" id="password" /> 
    <input type="text" class="pw" name="passwordSecond" /> 
    .... 
</form> 

skip_or_fill_minimum規則需要兩個參數,在分組域的數量和上面創建的class名,skip_or_fill_minimum: [3,".pw"]

$(document).ready(function() { 

    $('#accountData').validate({ // initialize the plugin 
     rules: { 
      passwordOrig: { 
       checkPassword: true, 
       skip_or_fill_minimum: [3,".pw"] 
      }, 
      password: { 
       validChars: true, 
       noSpace: true, 
       minlength: 5, 
       skip_or_fill_minimum: [3,".pw"] 
      }, 
      passwordSecond: { 
       equalTo: "#password", 
       skip_or_fill_minimum: [3,".pw"] 
      } 
     }, 
     groups: { 
      justaname: "passwordOrig password passwordSecond" 
     } 
    }); 

}); 

工作演示:http://jsfiddle.net/DmTNW/

我還使用the groups: option將三條消息分組爲一個,但如果需要,可以將其刪除。您可能還想將自定義的noSpace方法替換爲additional-methods.js文件中名爲nowhitespace的方法,但這又取決於您的需求。

+0

非常感謝。你解決了我的問題.. – 2014-10-04 16:40:39