2012-01-06 101 views
1

我想創建一個通用的正則表達式驗證器,用於需要不同規則的單個輸入字段(也取決於其他選項選擇)的多輸入表單中。jquery使用通用addmethod驗證

我已經或多或少地使用了vanilla JavaScript,但是讀到jQuery會更簡單。我在另一個網站上發現了這個代碼,但我無法讓它工作。

難道有人請指出代碼中可能出現了什麼問題,或者給我一個如何使用它的例子?

我是新來的編程一般很抱歉,如果這是'容易'。

下面是代碼:

$.validator.addMethod('regexp', function(value, element, param) { 
    return this.optional(element) || value.match(param); 
}, 
'This value doesn\'t match the acceptable pattern.'); 

$('form').validate({ 
    rules: { 
     password: { 
       required: true, 
       regexp: /^[A-Za-z\d]+$/i 
     } 
    } 
}); 
+0

可能重複:http://stackoverflow.com/questions/1053618/using-the-jquery-validation-plugin-how-can-i-add -a-regex-validation-on-a-textbo – BartekR 2012-01-06 18:26:45

回答

0

rules對象,關鍵是該元素的名稱。確保在您的形式,你的元素看起來是這樣的:

<input name="password" /> 
+0

謝謝你的迅速答覆火箭...我已經嘗試過你的建議沒有任何運氣。那麼$('form')不應該是我使用的表單的名稱或ID嗎?如果是的話不應該是$(#'form')?並且輸入應該添加一個class ='requested'? – JoMojo 2012-01-06 21:23:34

+1

我發現我的問題...上面的代碼工作很好,問題是我有另一個代碼段...這是導致衝突的代碼...雖然老實說現在我不知道爲什麼。 (「#summary」)。(「你的表單包含」+ validator.numberOfInvalids()+ 「errors。」); })。validate({ }); – JoMojo 2012-01-06 23:23:37

+0

也許'$(「#options」)。validate({})'以某種方式覆蓋驗證器的設置?我不知道。 – 2012-01-09 02:45:06