What he is trying to say is
You are taking the input from the user in the variable month which is a local variable in getMonth function.
month = getUserInput(prompt);
Then you are calling the validate month function with valMonth another variable which is never initialized as
tmpMonth = validateMonth(valMonth, prompt);
Then valMonth is always has a grabage value.

How do you expect it to validate the input taken from the getUserInput function.

Thanks
Shabbir