Hello. I am trying to use a variable I define globally in a function that
follows within my script. Here is my code:
def currentYear = LocalDate.now().getYear()
def yearValue
def monthValue
def dayValue
boolean validateDate(String myYYYY, String myMM, String myDD) {
// Acceptable range for years is assumed to be 120 years in the past to
40 years into the future
log.error("in validateDate, myYYYY is ${myYYYY}")
log.error("in validateDate, myMM is ${myMM}")
log.error("in validateDate, myDD is ${myDD}")
log.error("in validateDate, currentYear is 2023")
log.error("in validateDate, currentYear is ${currentYear}")
yearValue = Integer.parseInt(myYYYY)
monthValue = Integer.parseInt(myMM.replaceFirst(/^0+/, ''))
dayValue = Integer.parseInt(myDD.replaceFirst(/^0+/, ''))
//if ((yearValue >= currentYear - 120 && yearValue <= currentYear + 40)
&& \
// (monthValue >= 1 && monthValue <= 12) && \
// (dayValue >= 1 && dayValue <= 31) \
// ) { return true }
// else { return false }
//log.error("about to validate in validateDate, using
${yearValue.toString()} and ${currentYear.toString()}")
log.error("about to validate in validateDate, using
${yearValue.toString()} and 2023")
//if ((yearValue >= (currentYear - 120)) && (yearValue <= (currentYear
+ 40))) { return true } else { return false }
if ((yearValue >= (2023 - 120)) && (yearValue <= (2023 + 40))) { return
true } else { return false }
}
In my log I find the first four log.error() output statements, but I do not
see the line that I expect:
in validateDate, currentYear is ${currentYear}
currentYear does not seem to be known to my function validateDate(). What
ios my error here? How can I correct this?
Thank you in advance for your help.