2012-06-05 141 views
1

我使用jQuery驗證插件「jquery.validation.js」來驗證「DATE_OF_BIRTH」字段日期數據類型jQuery的:驗證日期

我想要顯示「DATE_OF_BIRTH以上的自定義消息「申請爲'年齡應該至少爲16'。

所以我寫了下面的自定義驗證代碼:

{literal} 
jQuery.validator.addMethod("dob", function (value, element) { 
var startDate = $('#date_of_birth').val(); 
var finDate = 01/03/2012 
var age=Date.parse(finDate)-Date.parse(startDate); 
if (age >= 16){ 
    return false; 
     } 
     else 
    { 
    return true; 
    } 
}, "Age should be minimum of 16"); 
{/literal} 

自定義的驗證規則:

rules: {   
date_of_birth: { 
dob: true 
} 
} 

但不幸的是,它不工作。

請幫我...

在此先感謝。

回答

2
$.validator.addMethod("dob", function() { 
    var minDate = new Date(); 
    minDate.setFullYear(minDate.getFullYear() - 16); 

    var dob = $('#date_of_birth').val(); 
    if(dob <= minDate) 
     return true; 
    return false; 
}, "Please specify a correct DOB:"); 

和:

rules: { 
    date_of_birth: { required: true, dob: "date_of_birth" }, 
}, 
+0

代碼是好的,但你有一個運營商走錯了路,它應該是<=,因爲你要確保文本框的生日將是少大於或等於您宣佈爲minDate的日期。你想要16歲或以上,而不是16歲或更小。 – TGarrett

+0

謝謝 - 我已經解決了這個問題 – Daveo