Как более корректно запретить нажатия?

такой вопрос. У меня есть функционал на сайте где до того как пользователь не введет адрес ему запрещено нажимать на кнопку заказать. Я сделал через простую проверку на добавления класса для кнопки к примеру disabled. И все бы хорошо однако если к примеру найдется человек знающий базовые элементы инспектора он может просто удалить класс и спокойно нажмет на кнопку. Тот же случай с суммой. Там лучше всего сделать запрет? Стек MERN


Ответы (1 шт):

Автор решения: Aziz Umarov

Идея примерно такая.

Назначайте событие на кнопку только после валидации в таком случае.

let address = document.getElementById("address");
let order = document.getElementById("order");

address.addEventListener("change", ()=>{ 
  if (!address.value) { // добавьте свою валидацию
    order.removeEventListener("click", makeOrder);
    order.disabled = true;
  } else { 
    order.addEventListener("click", makeOrder);
    order.disabled = false;
 }
});

order.disabled = true;

function makeOrder(){
  console.log("Заказать");
}
<input id="address" type="text">
<button id="order" >Заказать</button>

→ Ссылка