Проект представляет собой функциональную веб-форму для онлайн-оплаты. Форма включает обязательные поля для ввода: номер карты, дату окончания действия, CVC/CVV и email для отправки чека. Пользователи могут вводить номер карты, при этом все нецифровые символы игнорируются, а цифры автоматически форматируются с пробелами каждые четыре цифры. Номер карты также проверяется на валидность с использованием алгоритма Луна. Дата окончания действия карты проверяется на соответствие формату ММ/ГГ и на корректность, включая минимальную дату, которая должна быть больше текущей. Поле для CVC/CVV требует ввода строго трех цифр, а email проверяется на соответствие стандартному формату. Валидация данных происходит при потере фокуса на поле, что обеспечивает удобство использования. Кнопка «Оплатить» остается отключенной до тех пор, пока все поля не будут заполнены корректно, что гарантирует безопасность и точность вводимых данных.
Установка зависимостей:
npm install
Запуск сервера разработки:
npm run dev
Запуск production сборки:
npm run build
Запуск тестирования:
npm run test