【发布时间】:2019-02-01 02:39:26
【问题描述】:
我正在使用 Angular 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-attribute 的长度至少为 1,我希望启用我的按钮,否则不启用。
遗憾的是,我的按钮在任何输入时都被(并保持)禁用。我做错了什么?
【问题讨论】:
-
试试
[disabled]="validateIdentifier() && name.length > 0" -
你能给出你想输入的字符串吗?
标签: regex angular typescript