Javascript 使用JQuery验证生日问题

Javascript 使用JQuery验证生日问题,javascript,jquery,validation,Javascript,Jquery,Validation,我有一个应用程序,它有一个javascript日期选择器,日期选择器将出生日期放入一个隐藏字段,然后将隐藏字段的值与日期进行比较,看它是否超过18岁,如果没有,它将抛出一条错误消息。我遇到的问题是,我的脚本似乎只考虑了年份,而不包括等式中的月份和日期。以下是执行比较的脚本: (function ($) { $.validator.addMethod('minage', function (value, element, params) { if (this.optiona

我有一个应用程序,它有一个javascript日期选择器,日期选择器将出生日期放入一个隐藏字段,然后将隐藏字段的值与日期进行比较,看它是否超过18岁,如果没有,它将抛出一条错误消息。我遇到的问题是,我的脚本似乎只考虑了年份,而不包括等式中的月份和日期。以下是执行比较的脚本:

(function ($) {
$.validator.addMethod('minage',
    function (value, element, params) {
        if (this.optional(element)) {
            return true;
        }
        // parseDate throws exception if the value is invalid
        try {
            var valDate = jQuery.datepicker.parseDate('m/dd/yy', value);
        } catch (e) {
            return false;
        }
        var today = new Date();
            var mindate = new Date(today.getFullYear() - params, today.getMonth(), today.getDay(), 0, 0, 0, 0);
        if (valDate <= mindate) {
            return true;
        }
        else {
            return false; 
        }
    }
);

$.validator.unobtrusive.adapters.addSingleVal('minage', 'tooyoung');
})(jQuery);
(函数($){
$.validator.addMethod('minage',
函数(值、元素、参数){
if(此.可选(元素)){
返回true;
}
//如果值无效,则parseDate引发异常
试一试{
var valDate=jQuery.datepicker.parseDate('m/dd/yy',value);
}捕获(e){
返回false;
}
var today=新日期();
var mindate=新日期(today.getFullYear()-params,today.getMonth(),today.getDay(),0,0,0);

if(valDate)不确定,但可能是日期格式问题。console.log valDate和mindate before如果不是日期格式,则返回带有完整年份的日期。它只是出于某种原因比较年份,而不是月份或日期。