Angular 8 валидатор для ввода с номером типа - PullRequest
2 голосов
/ 07 апреля 2020

У меня есть вход с номером типа, который позволяет по умолчанию вставлять некоторые символы, такие как '+' '-' '.'

HTML

   <input   type="number"
              class="form-control"
              formControlName="numberChildren"/>

TypeScript

  constructor(private formBuilder: FormBuilder) { }

  ngOnInit() {
    this.createForm();
  }

  private createForm(): void {
    this.personalForm= this.formBuilder.group({
        numberChildren: [null, [Validators.required, Validators.pattern('[0-9]{2}')]],

    })
  }

Я хочу реализовать logi c, который принимает только числа без '+' '-' '.'

Примечание: в качестве типа ввода обязательно указывать число

1 Ответ

1 голос
/ 08 апреля 2020

Вы можете зарегистрироваться на событие keypress, чтобы игнорировать символы, которые вам не нужны, например, символ +. Это также может быть более удобным для пользователя, поскольку не отображается сообщение об ошибке, оно просто останавливает добавление символа к входу.

<input type="number"
  class="form-control"
  (keypress)="($event.charCode === 8 || $event.charCode === 0 || $event.charCode === 13) ? null : $event.charCode >= 48 && $event.charCode <= 57"
  formControlName="numberChildren"/>

charCode - это ASCII-символ используемый. Это позволит цифры, а также ENTER и BackSpace.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...