首页 > 解决方案 > 具有范围验证的印度货币输入字段

问题描述

我正在使用反应式表单方法,表单具有一个输入字段,该字段应接受印度货币格式,并对其进行最大和最小验证。当前的以下实现对我不起作用,也使用了自定义管道但没有运气=>

.html file
    <input [value]="form.get('amount').value | currencyFormat" autocomplete="off" matInput formControlName="amount" (keyup)="keyUp('amount')" placeholder="Amount Required" class="my-class">

在表单组中添加 =>setValidators([Validators.required, Validators.max(50000)

.ts file
  keyUp(name) {
    if (this.form.get(name).value) {
      var value = this.form.get(name).value.toString(); //convert int to string
      this.form.get('name').setValue(value.toLocaleString('en-IN')) // set value and convert to indian currency format
    }
  }

我期待当用户在输入中输入 10000 时它应该显示 10,000 并且当用户超过最大限制时它应该触发 formcontrol Validators 并且不应该接受除逗号之外的任何特殊字符,但我认为问题是当我试图实现印度格式我正在做 toString 但在 formcontrol 验证器中 max-min 仅适用于数字,所以我该如何实现这一点,

请指导我解决这个问题或建议我替代方案。

感谢您的帮助。

标签: javascriptangulartypescriptvalidationangular-reactive-forms

解决方案


推荐阅读