2010-02-02 44 views
1

我正在使用源自here的Jquery驗證插件。JQuery驗證插件:確保表單字段不是特定值

它是功能很好的必填字段,電子郵件等,但我想爲某些表單域設置一些具體的驗證規則。例如,我有一個包含下列選項的選擇表單字段...

<select name="salutation" id="salutation" class="conditional"> 
    <option value="0">--- Please Select ---</option> 
      <option value="1">--- MR ---</option> 
      <option value="2">--- MRS ---</option> 
    </select> 

我會那麼喜歡用驗證插件顯示一條消息,如果稱呼一直沒有selected..IE

$("#userForm").validate({ 
    // Validate Fields On Blur 
     onfocusout: function(element){ 
     this.element(element); 
    }, 
    // Set Specific Rules for Validation 
    rules:{ 
    salutation: { 
     NEQ:0     
      } 
    }, 
    messages:{ 
    salutation: { 
    NEQ: "please select a salutation"    
    } 
    } 
    }); 

想知道如果任何人有任何想法如何定製插件,以允許這樣的事情。非常感謝

+0

+1使用range鏈接到該插件。 – Natrium 2010-02-02 15:19:30

回答

1

,你可以在這種情況下

range: [1, 2] 
+0

像美人一樣工作......感謝您的支持援助 – namtax 2010-02-02 16:21:51

+0

注意:這是一個很好的解決方法,但實際上這並不能解決核心問題:如何排除特定值或如何針對特定值進行驗證? – Natrium 2010-02-03 07:19:30

0

保留「請選擇」選項的值爲空,並通過將其分配給類required來設置所需的選擇字段。這應該足以確保選擇其他選項之一。請注意,它將具有默認消息:「此字段是必需的。」而不是你的自定義信息,但你也可以調整。

<select name="salutation" id="salutation" class="required"> 
    <option value="">--- Please Select ---</option> 
    <option value="1">--- MR ---</option> 
    <option value="2">--- MRS ---</option> 
</select> 

$("#userForm").validate({ 
    // Validate Fields On Blur  
    onfocusout: function(element){ 
        this.element(element); 
       } 
}); 
+0

嗨,謝謝你的回答。它不似乎工作不幸,不知道爲什麼 – namtax 2010-02-02 16:19:25

+0

@namtax:對不起 - 我的例子省略了值,而不是提供一個空值。當該值被省略時,它將文本作爲值。提供一個空值允許所需的類與插件正常工作。我更新了這個例子。我更喜歡使用必要的,因爲這是選擇的意義 - 你需要一個價值。範圍甚至最小值都可以工作,但在這種情況下,它的真正含義是「值超出範圍」或「值必須至少爲1」...... – tvanfosson 2010-02-02 17:25:38