Мне нужно, чтобы цвет полей ввода менял цвет в соответствии с его состоянием, действительным или недействительным.Я следую учебному пособию, и в его учебнике оно может измениться.Я скопировал и вставил его коды, чтобы быть уверенным, что ничего не пропустил, но все равно не могу заставить его работать.Пожалуйста, смотрите мой код ниже:
styles.css
input.ng-touched.ng-invalid{
border-color: #dc3545;
}
input.ng-valid{
border-color: #28a745;
}
payment-detail-component.ts
<form #form="ngForm" autocomplete="off">
<input type="hidden" name="PMId" [value]="service.formData.PMId">
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text bg-white">
<i class="fas fa-user-circle" [class.green-icon]="CardOwnerName.valid" [class.red-icon]="CardOwnerName.invalid && CardOwnerName.touched"></i>
</div>
</div>
<input name="CardOwnerName" #CardOwnerName="ngModel" [(ngModel)]="service.formData.CardOwnerName" class="form-control"
placeholder="Card Owner Name" required>
</div>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text bg-white">
<i class="far fa-credit-card" [class.green-icon]="CardNumber.valid" [class.red-icon]="CardNumber.invalid && CardNumber.touched"></i>
</div>
</div>
<input name="CardNumber" #CardNumber="ngModel" [(ngModel)]="service.formData.CardNumber"
class="form-control" placeholder="16 Digit Card Number" required maxlength="16" minlength="16">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-7">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text bg-white">
<i class="fas fa-calendar-alt" [class.green-icon]="ExpirationDate.valid" [class.red-icon]="ExpirationDate.invalid && ExpirationDate.touched"></i>
</div>
</div>
<input name="ExpirationDate" #ExpirationDate="ngModel" [(ngModel)]="service.formData.ExpirationDate" class="form-control"
placeholder="MM/YY" required maxlength="5" minlength="5">
</div>
</div>
<div class="form-group col-md-5">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text bg-white">
<i class="fas fa-key" [class.green-icon]="CVV.valid" [class.red-icon]="CVV.invalid && CVV.touched"></i>
</div>
</div>
<input type="password" name="CVV" #CVV="ngModel" [(ngModel)]="service.formData.CVV" class="form-control" placeholder="CVV"
required maxlength="3" minlength="3">
</div>
</div>
</div>
<div class="form-group">
<button class="btn btn-success btn-lg btn-block" type="submit" [disabled]="form.invalid"><i class="fas fa-database"></i> Submit</button>
</div>
</form>
Когда я пользуюсь инспектором, я должен видеть различное состояние ящиков ввода, таких как «нетронутый», «касался», «грязный» и т. Д. Но я этого не вижу.Можете ли вы показать мне, как это правильно?Спасибо.