Когда возникают проблемы со значениями 08
и 09
, вы почти наверняка забыли указать параметр radix для parseInt()
.
Если он не указан, он пытается автоматически определить базу по входу, а если он находит начальный ноль, он пытается проанализировать его как восьмеричное число. Для чисел от 00
до 07
это не проблема, он даже оценивается так же, как если бы это был base-10, но по понятным причинам 08
и 09
являются недопустимыми восьмеричными числами.
Чтобы избежать этой проблемы в будущем, убедитесь, что вы всегда устанавливаете параметр radix, чтобы принудительно анализировать число как основание-10, независимо от ввода:
var value = parseInt(someString, 10);
Проверьте свой javascript в строке 29 вашего HTML-файла и измените его следующим образом:
jQuery("#ValidDate").validate({
expression: "if (!isValidDate(parseInt(VAL.split('-')[2], 10), parseInt(VAL.split('-')[0], 10), parseInt(VAL.split('-')[1], 10))) return false; else return true;",
message: "Please enter a valid Date"
});