У меня есть форма ввода, в которой пользователь может выбрать дату из календаря, однако я также хотел, чтобы они могли вводить дату вручную.
функция validateDate() вызывается, когда пользователь выходит из поля ввода
//Make sure valid date is entered into the field, otherwise throw back an error
function validateDate(date) {
var dateObj = new Date(date);
console.log(dateObj.getDate());
if (dateObj == "Invalid Date") {
dateWrongFormat(false);
return false;
}
return dateTimeToString(dateObj, true);
}
Проблема в следующем: скажем, если пользователь случайно вводит что-то вроде «55/02/2014», оно преобразуется в «02 июля 2018» вместо отображения недопустимой даты (примечание: это 4 года после года, который они ввели) .
Есть ли простой способ проверить, недействительны ли дни или месяцы, или мне нужно создать свою собственную систему проверки даты?
РЕДАКТИРОВАТЬ: поэтому кажется, что независимо от того, что я набираю, он считает, что это действительная дата - даже форматирование с помощью moment.js. Спасибо за помощь, ребята, но я должен написать свой собственный для этого!