2010-05-12 55 views
0

嗨,我使用jQuery 1.4.2和jQuery驗證1.7(http://bassistance.de/jquery-plugins/jquery-plugin-validation/如何讓佔位符varablies在jquery驗證1.7?

說我有這個例子,我只是抓住了一些隨機的網站(http://www.webreference.com/programming/javascript/jquery/form_validation/

8  <script type="text/javascript"> 
9  $(document).ready(function() { 
10  $("#form1").validate({ 
11   rules: { 
12   name: "required",// simple rule, converted to {required:true} 
13   email: {// compound rule 
14   required: true, 
15   email: true 
16   }, 
17   url: { 
18   url: true 
19   }, 
20   comment: { 
21   required: true 
22   } 
23   }, 
24   messages: { 
25   comment: "Please enter a comment." 
26   } 
27  }); 
28  }); 
29 </script> 

現在是有可能這樣做像這樣

10  $("#form1").validate({ 
      var NameHolder = "name" 
11   rules: { 
12   NameHolder: "required",// simple rule, converted to {required:true} 
13   email: {// compound rule 
14   required: true, 
15   email: true 

所以基本上我想要那種一個全局變量來捍衛這些規則名稱(什麼對應的名字對HTML控件)。

我擔心的是html控件的名稱可能會發生變化,它會讓我覺得不得不在我的代碼的許多位置進行更改,以使其再次運行。

所以基本上我想知道有沒有做一個全局變量來存儲這個名字。因此,如果我需要更改名稱,我只需要在JavaScript文件中的一個位置更改它,就像停止幻數一樣。

回答

0

documentation的 「規則」:

鍵/值對定義自定義規則。 Key是元素的名稱(或一組複選框/單選按鈕),value是由規則/參數對或純String組成的對象。

在您的示例中,name:引用具有屬性name="name"的輸入元素。因此,如果你一致地命名錶單屬性,那麼在多個區域使用驗證插件大多是複製和粘貼。

請注意,每個驗證對錶單都是唯一的。因此,如果您的頁面A上有一個包含「yourName」和「yourEmail」字段的表單,並且頁面B上的表單有一個額外的「yourPhone」字段,則您需要爲每個表單單獨編寫驗證規則。但你可以使用表單A的大部分代碼用於表單B.

+0

Ya我知道它映射到html屬性的名稱部分。我只是希望,如果這種變化發生了變化,如果只有一個全局變量或者只是可以改變的東西,那麼所有需要改變的區域都不需要搜索。 – chobo2 2010-05-12 22:15:06