но это не ограничивает месяц до 1-12 и дней от 1 до 31.
Есть более сложные проверки, как в других ответах, кстати довольно умные. Тем не менее вам нужно проверить действительную дату, потому что нет проверок, если месяц имеет 28, 30 или 31 день.
Ответ 3
Вы можете использовать шаблон регулярных выражений для формата даты (yyyy-mm-dd):