Кнопка включения, когда две строки соответствуют определенным критериям Angular 7 - PullRequest
0 голосов
/ 31 января 2019

Я использую 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 равна по крайней мере 1, я хотел бы иметьмоя кнопка включена, иначе нет.

К сожалению, моя кнопка отключена (и остается) на любом входе.Что я сделал не так на этом?

1 Ответ

0 голосов
/ 31 января 2019

Я думаю, у вас есть небольшая ошибка в вашей логической логике.Я думаю, что вы хотите отменить результат validateIdentifier() и сказать, что если не vailidateIdentifier или длина равна 0, то отключите.EG

<button
  pButton
  type="button"
  class="ui-button-raised ui-button-rounded"
  label="Click me!"
  [disabled]="!validateIdentifier() || name.length === 0">
</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...