【问题标题】:Angular mask - string manipulation角度掩码 - 字符串操作
【发布时间】:2020-04-11 20:05:54
【问题描述】:

我需要有可能通过小写字母和数字的输入字段。我可以像这样使用自定义掩码:

customPattern = { 'a': { pattern: new RegExp('[a-z0-9]')}};

此掩码不允许插入大写字母。这是我需要的……但是……

我还需要能够键入字母,例如意外激活的大写锁定。 当我输入 'A' 时,它必须在输入字段中显示 'a'


更新:

我需要更改输入字段的值,而不仅仅是显示该值的格式...我通过 validate(control: AbstractControl) 方法将此值从组件传递给验证器以进行进一步验证。 ..所以我需要改变控制的价值。

【问题讨论】:

标签: angular input mask


【解决方案1】:

您可以像下面这样使用输入的 value 属性。

 <input name="name" [value]="name.toLowerCase()" [(ngModel)]="name" (change)="update()">

update() {
      if (this.name) {
          this.name = this.name.toLowerCase();
      }
    }

演示 - https://stackblitz.com/edit/angular-6-reactive-forms-rfa37f

【讨论】:

  • 我需要更改输入字段的值,而不仅仅是显示该值的格式...我通过 validate(control: AbstractControl) 将此值从组件传递给验证器进一步验证的方法...所以我需要更改 control. 的值
  • 好的,为此您可以添加更改事件并将模型更新为小写。你可以检查更新的答案。
  • 另一种方法是,在传递给 validate 之前,用小写更新控件值。
  • 另一种方法可能是,只允许 Capitals(A-Z) 的正则表达式。这样 validate 就不会失败。当您向后端发送数据时,只需将控制值更新为小写即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-23
  • 2019-08-20
  • 2013-08-29
  • 2013-08-09
  • 1970-01-01
  • 2023-01-23
  • 1970-01-01
相关资源
最近更新 更多