2013-02-22 164 views
-2

我正在通過jQuery表單驗證驗證表單。我想知道是否有任何現有的jQuery或JavaScript來驗證一個人是至少16歲。一個要求是,如果用戶不滿16歲,則無法提交表單。jQuery表單驗證驗證年齡

我知道這個驗證是不夠的,所以會有一些服務器端驗證。

+0

我相信jQuery驗證插件可以讓你定義自己的自定義驗證功能,然後用它們來驗證字段。比較兩個日期 - 使用日期選擇器爲他們的D.O.B輸入日期和當前日期 - 以確定差異是否至少16年不應太困難。我認爲,你應該能夠在其他問題上找到你需要的所有信息。不幸的是,我對jQuery驗證不夠熟悉。 – 2013-02-22 15:29:50

+0

我認爲預置號碼驗證可能有最小/最大選項。這隻會在用戶輸入一個整數時才起作用。 – Jack 2013-02-22 15:37:05

+0

你只是問年齡?你在問生日嗎?你將不得不爲jQuery和HTML顯示你的代碼,並解釋你收集的數據是否需要有意義的答案。 – Sparky 2013-02-22 16:02:06

回答

0

使用the plugin's addMethod() method,您可以使用此插件完成的操作沒有限制。

jQuery.validator.addMethod("myRule", function(value, element, params) { 
    // your custom validation function 
    // return false; // represents failed validation 
    // return true; // represents passed validation 
}, jQuery.format("failed - your custom message")); 

回調的參數有:

  • 當前值的驗證元件
  • 元件被驗證
  • 參數的方法中指定的,例如爲min: 5參數是5,爲range: [1, 5][1, 5]

有幾種方法可以應用新的規則。標準方法只是在.validate()以及其他規則中聲明它。

HTML

<input type="text" name="field1" /> 

jQuery的

$(document).ready(function() { 

    $('#myform').validate({ // initialize the plugin 
     // other options 
     rules: { 
      myfield1: { 
       required: true, 
       myRule: true // true/false or parameters 
      }, 
      // other rules, 
     } 
    }); 

}); 

看到我做了一個自定義規則這個工作演示。您可以輸入除「5」之外的任何內容。

http://jsfiddle.net/kKhFJ/