const input = document.querySelector('input');
const button = document.querySelector('button');
const num = 6;
Блокируйте кнопку при вводе неправильных значений:
input.addEventListener('input', e => {
button.disabled = e.target.value % num;
});
Или делайте проверку при клике:
button.addEventListener('click', () => {
if (input.value % num) {
alert('такого нам не надо, пробуй ещё');
}
});
Или исправляйте введённые значения:
input.addEventListener('change', ({ target: t }) => {
t.value = Math.max(0, (t.value / num | 0) * num);
});
Или не давайте вводить неправильные значения -
заблокируйте инпут, изменение значения осуществляйте по кликам на кнопки рядом:
<button data-step="-1">-</button>
<button data-step="+1">+</button>
document.querySelectorAll('[data-step]').forEach(n => {
n.addEventListener('click', onClick);
});
function onClick({ target: { dataset: { step } } }) {
input.value = Math.max(0, +input.value + num * step);
}