Я создаю форму angular2 в машинописном тексте, используя ionic,
.html
<form (ngSubmit)="verify(form)" #form="ngForm">
<ion-input type="text" name="data" #number="ngModel" maxlength='4" [(ngModel)]="digits"></ion-input>
<span *ngIf="number.dirty && form.submitted && form.value.number<4">Enter all numbers</span>
<span *ngIf="number.pristine && form.submitted">Enter number</span>
<button (click)="doAgain()">Click Again</button>
<button type="submit">Verify</button>
</form>
Проблема1: когда я нажимаю кнопку "Нажмите еще раз", отображается сообщение об ошибке в виде "Введите число", которое я не хочу отображать, а также запускает функцию verify ().
Обновление: Проблема2. Мое требование состоит в том, что мне нужны только числа для ввода в текстовое поле, а не алфавиты и специальные символы, такие как 'a', 'b', '@'. Таким образом, с приведенной выше реализацией поле ввода получает b c d и @ # $ и 1 2 3 что угодно. Я хочу ограничить его только числом. Я знаю это, потому что предоставил атрибут как type = "text", поэтому он действует таким образом. Поскольку я перешел на type = "number", я достиг цели, но количество символов, принимаемых в поле ввода, превышает мою максимальную длину, равную 4.
( key >= 96 && key <= 105 )
, разрешит только числа. - person Abhishek Ekaanth   schedule 20.01.2018