Я просматриваю массив значений ключей, чтобы создать список флажков, для каждого из которых отключен входной сигнал брата или сестры. При установке каждого флажка одноуровневое текстовое поле для ввода становится активным и является обязательным. В этом представлении есть кнопки «предыдущий» и «следующий», а кнопка «следующий» должна быть отключена, если пользователь выбирает флажок, а затем ничего не вводит в требуемый вход для сестры. У меня это почти работает, однако кнопка «Далее» должна быть отключена, как только пользователь установит флажок, так как это будет означать, что он ничего не ввел в требуемый текстовый ввод. Прямо сейчас кнопка «Далее» становится неактивной, только если пользователь устанавливает флажок, фокусируется на входном элементе и затем выходит, не входя.
Мой HTML ...
<div *ngFor="let promotion of promotionOptions; let i = index">
<div class="col-md-6 input-container radio-label">
<mat-checkbox [checked]="!promotion.key" (change)="promotion.key = !promotion.key">
{{ promotion.name }}
</mat-checkbox>
</div>
<mat-input-container>
<input matInput [disabled]="promotion.key" placeholder="Cost" name="promotionCost{{i}}" #promotionCost="ngModel" [ngModel]="" (keyup)="promotionCostInput($event.target.value)"
[required]="!promotion.key" type="number">
<div *ngIf="promotionCost.errors && (promotionCost.dirty || promotionCost.touched)" class="alert alert-danger cost-alert">
<div [hidden]="!promotionCost.errors.required">Please enter the checked promotion's cost</div>
</div>
</mat-input-container>
</div>
<div class="clearfix"></div>
<div class="button-container">
<button class="main-btn dark icon-left" (click)="updateStep(1)"><i class="fa fa-angle-left"></i>Previous</button>
<button class="main-btn icon-right" (click)="updateStep(3)" [disabled]="!promotionCostValid">Next<i class="fa fa-angle-right"></i></button>
</div>
И метод, который я использую в своем файле .ts для отключения кнопки «Далее»:
promotionCostInput(value) {
if (!value) {
this.promotionCostValid = false;
} else {
this.promotionCostValid = true;
}
}
Как я могу проверить ввод сестры, когда пользователь устанавливает флажок?