当两个字符串符合特定条件时启用按钮Angular 7

时间:2019-01-31 18:34:09

标签: regex angular typescript

我使用角7和要禁用的按钮每当两个输入端不匹配指定的标准。

我有以下代码:

HTML:

<input type="text" pInputText [(ngModel)]="name" placeholder="placeholder"/>
<input type="text" pInputText [(ngModel)]="identifier" placeholder="identifier"/>

<button pButton type="button" class="ui-button-raised ui-button-rounded" label="Click me!" disabled="{{validateIdentifier() && name.length > 0}}"></button>

TS:

 private identifier: string = "";
 private name: string = "";

 validateIdentifier(): boolean {
    const REGEXP = new RegExp(/[EHIS]-[0-9]{9}/);
    return REGEXP.test(this.identifier);
}

因此,当我插入一个字符串匹配正则表达式如下:(E|H|I|S)-[0-9]{9}的长度和插入的name - 属性是至少1,我想启用我的按钮,否则不。

可悲的是,我的按钮在任何输入上都被禁用(并保持禁用)。我在这方面做错了什么?

1 个答案:

答案 0 :(得分:0)

我觉得你有你的布尔逻辑微小误差。我认为您想否定validateIdentifier()的结果,并说如果不是vailidateIdentifier或长度为0,请禁用。例如

<button
  pButton
  type="button"
  class="ui-button-raised ui-button-rounded"
  label="Click me!"
  [disabled]="!validateIdentifier() || name.length === 0">
</button>