jquery-src/jquery.calendars.validation.js
function validateEach(value, elem) {
			var inst = $.calendarsPicker._getInst(elem);
			var dates = (inst.options.multiSelect ? value.split(inst.options.multiSeparator) :
				(inst.options.rangeSelect ? value.split(inst.options.rangeSeparator) : [value]));
			var ok = (inst.options.multiSelect && dates.length <= inst.options.multiSelect) ||
				(!inst.options.multiSelect && inst.options.rangeSelect && dates.length === 2) ||
				(!inst.options.multiSelect && !inst.options.rangeSelect && dates.length === 1);
			if (ok) {
				try {
					var dateFormat = inst.get('dateFormat');
					var minDate = inst.get('minDate');
					var maxDate = inst.get('maxDate');
					var cp = $(elem);
					$.each(dates, function(i, v) {
						dates[i] = inst.options.calendar.parseDate(dateFormat, v);
						ok = ok && (!dates[i] || (cp.calendarsPicker('isSelectable', dates[i]) &&
							(!minDate || dates[i].compareTo(minDate) !== -1) &&
							(!maxDate || dates[i].compareTo(maxDate) !== +1)));
					});
				}
				catch (e) {
					ok = false;
				}
			}
			if (ok && inst.options.rangeSelect) {
				ok = (dates[0].compareTo(dates[1]) !== +1);
			}
			return ok;
		}
function validateEach(value, elem) {
			var inst = $.calendarsPicker._getInst(elem);
			var dates = (inst.options.multiSelect ? value.split(inst.options.multiSeparator) :
				(inst.options.rangeSelect ? value.split(inst.options.rangeSeparator) : [value]));
			var ok = (inst.options.multiSelect && dates.length <= inst.options.multiSelect) ||
				(!inst.options.multiSelect && inst.options.rangeSelect && dates.length === 2) ||
				(!inst.options.multiSelect && !inst.options.rangeSelect && dates.length === 1);
			if (ok) {
				try {
					var dateFormat = inst.get('dateFormat');
					var minDate = inst.get('minDate');
					var maxDate = inst.get('maxDate');
					var cp = $(elem);
					$.each(dates, function(i, v) {
						dates[i] = inst.options.calendar.parseDate(dateFormat, v);
						ok = ok && (!dates[i] || (cp.calendarsPicker('isSelectable', dates[i]) &&
							(!minDate || dates[i].compareTo(minDate) !== -1) &&
							(!maxDate || dates[i].compareTo(maxDate) !== +1)));
					});
				}
				catch (e) {
					ok = false;
				}
			}
			if (ok && inst.options.rangeSelect) {
				ok = (dates[0].compareTo(dates[1]) !== +1);
			}
			return ok;
		}
function validateEach ( value , elem ) { var inst = $ . calendarsPicker . _getInst ( elem ) ; var dates = ( inst . options . multiSelect ? value . split ( inst . options . multiSeparator ) : ( inst . options . rangeSelect ? value . split ( inst . options . rangeSeparator ) : [ value ] ) ) ; var ok = ( inst . options . multiSelect && dates . length <= inst . options . multiSelect ) || ( ! inst . options . multiSelect && inst . options . rangeSelect && dates . length === 2 ) || ( ! inst . options . multiSelect && ! inst . options . rangeSelect && dates . length === 1 ) ; if ( ok ) { try { var dateFormat = inst . get ( 'dateFormat' ) ; var minDate = inst . get ( 'minDate' ) ; var maxDate = inst . get ( 'maxDate' ) ; var cp = $ ( elem ) ; $ . each ( dates , function ( i , v ) { dates [ i ] = inst . options . calendar . parseDate ( dateFormat , v ) ; ok = ok && ( ! dates [ i ] || ( cp . calendarsPicker ( 'isSelectable' , dates [ i ] ) && ( ! minDate || dates [ i ] . compareTo ( minDate ) !== - 1 ) && ( ! maxDate || dates [ i ] . compareTo ( maxDate ) !== + 1 ) ) ) ; } ) ; } catch ( e ) { ok = false ; } } if ( ok && inst . options . rangeSelect ) { ok = ( dates [ 0 ] . compareTo ( dates [ 1 ] ) !== + 1 ) ; } return ok ; }
Apply a validation test to each date provided.
@private
@param value {string} The current field value.
@param elem {Element} The field control.
@return {boolean} <code>true</code> if OK, <code>false</code> if failed validation.
Apply a validation test to each date provided .