我有这个有javascript datepicker的应用程序,datepicker将出生日期放入隐藏字段,然后将隐藏字段的值与日期进行比较以查看它是否超过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);
假设我今天有一个18岁的人,我需要它来比较出生日期和今天的日期,并说好,他们现在是18岁,如果他们选择明天,它会抛出一个错误。谁知道我哪里出错?