2012-06-05 94 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