У меня есть вход, связанный с формой angular, которая использует событие ввода для вызова функции, которая преобразуется в верхний регистр и проверяет, что записаны только буквы и пробелы, но в форме всегда остается последний символ без преобразования или замена, даже если функция возвращает правильное значение.
<input id="name" type="text" maxlength="60" (input)="funciones.convertOnlyText($event)" pInputText formControlName="name">
convertOnlyText(event) {
event.target.value = event.target.value.replace(/[^A-ZÁÉÍÓÚÑ a-záéíóúñ]+/g, '').trimLeft();
let start = event.target.selectionStart;
event.target.value = event.target.value.toUpperCase();
event.target.selectionStart = start;
event.target.selectionEnd = start;
}
this.form = new FormGroup({
name: new FormControl({ value: null, disabled: false }, [Validators.required]),
});
например, если я напишу hello * во вводе, функция вернет HELLO, но в форме это будет HELLO *, или если я напишу только hello, функция вернет HELLO, но в форме это HELLo.