From eca5abd873675f5cc7b96641c723b7e35a4260bc Mon Sep 17 00:00:00 2001 From: Jay Merrifield Date: Tue, 13 Nov 2012 21:07:48 -0500 Subject: Datepicker: Updated the range tests so you can't navigate past the yearRange. Fixes #7362 - Datepicker allows changing year to something outside yearRange --- ui/jquery.ui.datepicker.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'ui') diff --git a/ui/jquery.ui.datepicker.js b/ui/jquery.ui.datepicker.js index c7ecafffb..e3c3bd398 100644 --- a/ui/jquery.ui.datepicker.js +++ b/ui/jquery.ui.datepicker.js @@ -1742,8 +1742,20 @@ $.extend(Datepicker.prototype, { _isInRange: function(inst, date) { var minDate = this._getMinMaxDate(inst, 'min'); var maxDate = this._getMinMaxDate(inst, 'max'); + var minYear = null; + var maxYear = null; + var years = this._get(inst, 'yearRange'); + if (years){ + var yearSplit = years.split(':'); + var currentYear = new Date().getFullYear(); + minYear = parseInt(yearSplit[0], 10) + currentYear; + maxYear = parseInt(yearSplit[1], 10) + currentYear; + } + return ((!minDate || date.getTime() >= minDate.getTime()) && - (!maxDate || date.getTime() <= maxDate.getTime())); + (!maxDate || date.getTime() <= maxDate.getTime()) && + (!minYear || date.getFullYear() >= minYear) && + (!maxYear || date.getFullYear() <= maxYear)); }, /* Provide the configuration settings for formatting/parsing. */ -- cgit v1.2.3