【问题标题】:angular/forms integer validator角度/形式整数验证器
【发布时间】:2020-09-18 09:46:30
【问题描述】:

如何验证我的数字输入字段只接受整数而不接受任何类型的十进制数字(逗号/点)?

代码

Component

import { FormGroup, FormBuilder, Validators } from '@angular/forms';

this.savingData = this.formBuilder.group({
  amount: ['', Validators.required], // only accept integer 123000
});

HTML

<ion-input type="number" min="1" inputmode="numeric" formControlName="amount" placeholder="{{ 'SAVINGS.amount' | translate }}" ></ion-input>

有什么想法吗?

【问题讨论】:

    标签: javascript angular typescript angular-validator


    【解决方案1】:

    你可以试试 Angular Reactive 表单pattern validator

    this.savingData = this.formBuilder.group({
      amount: ['', [Validators.required, Validators.pattern("^[0-9]*$")]], // only numbers
    });
    

    【讨论】:

    • @mafortis 在引号内添加正则表达式更新答案现在结帐
    • ok 可以这样工作 amount: ['', [Validators.required, Validators.pattern("^[0-9]*$")]], 非常感谢
    • @mafortis 它也可以接受其他字符,但是表单无效。
    • 如果你也可以接受负数:Validators.pattern('^-?[0-9]*$')
    【解决方案2】:

    尝试使用\d+ 之类的模式。在Validators.pattern()

    【讨论】:

    • 你的意思是我用Validators.pattern()替换Validators.required
    • 你可以这样做,或者保存需要并使用\d*
    猜你喜欢
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多