Мне нужно создать проверку, которая не позволяет пользователю вводить числовые данные в текстовое поле. Я нашел какое-то решение, используя собственный javascript, но он не работает на моей стороне.
В моем текстовом поле есть этот триггер
v-on:keyup = "preventNumericInput($event)">
И на моем Vue я создал функцию в своем классе
preventNumericInput($event) {
console.info($event.keyCode); //will display the keyCode value
console.info($event.key); //will show the key value
var keyCode = ($event.keyCode ? $event.keyCode : $event.which);
if (keyCode > 47 && keyCode < 58) {
$event.preventDefault();
}
}
ты можешь помочь мне с этим?
Вы действительно должны следить за вводом и реагировать на числовой ввод. В качестве альтернативы вы можете использовать oninput
keyup может опоздать на событие, чтобы его успеть. Попробуйте keydown или keypressПочему бы не использовать vee-validate?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Как упоминалось в моем комментарии, keyup будет срабатывать слишком поздно, чтобы предотвратить ввод значения в поле ввода. Например, подумайте о том, чтобы удерживать нажатой клавишу, чтобы многократно вводить одно и то же значение; нет ключа вверх.
Вместо этого используйте keydown или keypress
<input @keypress = "preventNumericInput">
Попробуйте это: stackoverflow.com/questions/15728261/…