В идеальном мире вы бы поддержали следующие 2 сценария:
1) Этап проверки / проверки на стороне сервера, который после отправки формы и обнаружения другой формы с той же датой перенаправляет пользователя обратно на исходную страницу отправки (без потери данных), уведомляя его о возможной дублировать и дать им возможность загрузить форму оттуда.
2) Клиентский AJAX-запрос, который отправляет дату на сервер, задавая основной вопрос «есть ли у нас уже форма с этой датой», и, если да, дает им возможность загрузить оттуда. Эта опция хороша тем, что она позволяет пользователю знать (возможно, до того, как он закончил весь ручной труд по заполнению формы), что есть еще одна введенная форма. Вы, пользователь, были бы благодарны за то, что сэкономили свое время, а вы сэкономили туда и обратно на сервер.
Вы не можете полагаться на асинхронный запрос JavaScript для обеспечения соблюдения ваших бизнес-правил, поскольку его можно легко обойти, как умышленно, так и неосознанно (пользователями с отключенным JavaScript)