Лабораторна робота — Інтерактивний віджет

Калькулятор
розробки сайту

Оберіть параметри вашого проєкту — ціна та терміни оновляться миттєво. Захищений від некоректних введень.

3к+
базова
ціна, грн

Параметри проєкту

Введіть число від 1 до 500

Попередній кошторис

Орієнтовна вартість
3 000 грн
без ПДВ · без прихованих доплат
Базова вартість 3 000 грн
Додаткові сторінки
Дизайн
SEO-оптимізація
Адмін-панель
Мобільна версія
Підтримка 3 міс.
Орієнтовний термін: 1–2 тижні

QA-журнал: виявлені баги та їх усунення

Bug Порожнє поле → NaN

При повному очищенні поля кількості parseInt("") повертав NaN, і ціна відображалась як NaN грн.

Fix Перевірка на NaN + повідомлення

Додано isNaN(val). Якщо поле порожнє — показується червоне повідомлення "Введіть число від 1 до 500", розрахунок блокується.

Bug Від'ємні числа → мінусова ціна

Введення -5 давало від'ємну вартість: "−2 000 грн". Компанія фактично "ставала боржником" перед клієнтом — критичний бізнес-баг.

Fix Захист мінімального значення

Умова val < 1 блокує розрахунок і виводить помилку. Навіть якщо обійти UI, JS не дозволяє передати менше 1.

Bug Дроби — 2.5 сторінки

Введення 2.5 давало некоректний розрахунок: логіка не була готова до нецілих значень.

Fix Math.round() на вході

Перед розрахунком: val = Math.round(val). 2.5 → 3 сторінки. Значення автоматично відображається у полі після округлення.

Bug Overflow: 9999999999999999

Величезне число виходило за межі блоку, ціна розривала верстку, у консолі виникали попередження.

Fix Обмеження max: 500 сторінок

Додано умову val > 500 → повідомлення "Максимум 500 сторінок". Верстка залишається стабільною за будь-якого вводу.