Проверка ввода
Попробуйте нажать Добавить, когда оба поля пусты. В списке появится товар без названия за 0 ₽. Хорошее приложение не принимает такие данные: оно проверяет то, что ввёл пользователь, и, если что-то не так, говорит, что именно.
Проверки идут в начале обработчика нажатия, до добавления товара. Если что-то не так, обработчик показывает сообщение в абзаце message и завершается командой return. Как вы знаете из урока «Функции», return завершает функцию, поэтому код, добавляющий товар, не выполняется:
if (name === "") {
message.textContent = "Введите, что хотите купить.";
return;
}А что с ценой? Когда поле цены пусто, его значение — пустой текст "", а Number("") равно 0. Поле для чисел также даёт пустой текст, если то, что в нём написано, не является числом. Поэтому одного условия, price <= 0, достаточно, чтобы поймать и пустую цену, и ноль, и отрицательные цены.
А когда всё в порядке, старое сообщение не должно оставаться на странице, поэтому очистите его до добавления товара.
Задание
- 1
В начале обработчика нажатия (сразу после чтения
nameиprice) добавьте условие: еслиnameпусто (""), покажите вmessageтекстВведите, что хотите купить.и завершите обработчик командойreturn. - 2
Добавьте второе условие: если
priceравно0или меньше, покажите вmessageтекстВведите цену больше 0.и завершите обработчик командойreturn. - 3
Если обе проверки пройдены, очистите сообщение (
message.textContent = "") перед добавлением товара. Попробуйте: нажмите «Добавить» с пустым полем, а затем добавьте нормальный товар. Сообщение исчезнет.