Я хочу прекратить ввод любого числа после проверки пользовательского регулярного выражения, проблема в том, что условие выполнено, но event.preventDefault не препятствует вводу. Reg ex - ввод значения в процентах от 1 до 100 с десятичными знаками
/^(100(\.0{1,2})?|[1-9]?\d(\.\d{1,2})?)$/
это мой ввод
<input type='text' (keyup)="preventPercentage($event)" [(ngModel)]="value">
ts
preventPercentage(event){
var p = event.target.value
var s= p.match(/^(100(\.0{1,2})?|[1-9]?\d(\.\d{1,2})?)$/) != null
if(!s && p){
event.preventDefault();
}
}
пользователь все еще может ввести любое значение, даже если условие истинно, введите что-нибудь между100 выше, он все еще работает, и событие не мешает значениям
<input type='text' (keydown)="preventPercentage($event)" [(ngModel)]="value">
Я использовал клавишу вниз, но она позволяет ввести 123, то есть трехзначные числа, и я не могу затем удалить это число, используя клавишу Backspace, что именно я делаю неправильнокто-нибудь подскажет соль, любая помощь будет оценена