如果在 type="number" 的输入字段中粘贴值,则显示错误消息

问题描述

在我的表单中,我有一个数量字段,它应该只接受数值。当使用特殊字符输入数量时,此 type="number" 将替换特殊字符。但是,如果我用特殊字符粘贴值而不是替换,我需要将错误消息显示为“数量具有无效字符”,并且还应该将字段值重置为“”。

在 html 中:

<mat-form-field class="quantity">
   <mat-label>Item Quantity</mat-label>
   <input matInput type="number" step="1" [(ngModel)]="quantity" 
   formControlName="itemQuantity" (paste)="checkItemQuantity($event)">
 </mat-form-field>

在 ts

checkItemQuantity(event){
    let value = this.form.get('itemQuantity').value ; // if pasted value is 45%^$
    console.log(value); // prints 45
  }

只要我在 ts 中输入带有无效字符的值,我就会收到 45 的值,因此我无法执行验证。是否可以捕获粘贴在字段内的任何值。我无法使用 type="text",因为我需要此字段的步骤功能

解决方法

您可以尝试在代码中验证您的 FormControl(即检查输入对于类型编号是否有效)。然后从视图中访问验证的错误信息,以获取您的用户信息。

看这里:Angular Form Validation

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...