У меня есть компонент Angular 5, который по сути является просто меткой и вводом
<div class="form-group">
<label for="wwid">WWID</label>
<input id="wwid" required ...lots of attrs...>
</div>
Используя CSS, я определил стиль:
.ng-invalid:not(form) {
border-left: 5px solid #a94442; /* red */
}
Когда поле пустоеЯ получаю две красные границы.Тот, что в поле ввода, который я хочу, но также и справа от метки, которую я не хочу.Как избавиться от красной линии на ярлыке?
Вот фактический полный HTML-код, используемый компонентом.
<ng-template #listSelectionFormatter let-r="result">
<span>{{r.wwid}} - {{r.fullName}}</span>
</ng-template>
<div class="form-group">
<label *ngIf="labelText" for="wwid">
{{ labelText }}
<span *ngIf="isRequired"> <sup class="requiredIndicator">*</sup></span>
</label>
<!-- inputFormatter is the format for what is placed into the input field after choosing from the dropdown -->
<input id="wwid" type="text"
class="form-control"
placeholder="Search by WWID, IDSID, Name or Email"
(selectItem)="onWorkerSelected($event.item)"
(input)="onTextFieldChanged($event.target.value)"
[ngModel]="selectedWorker"
[ngbTypeahead]="search"
[inputFormatter]="selectedResultsFormatter"
[resultTemplate]="listSelectionFormatter"
[disabled]="disabled"
[required]="required"
/>
<span *ngIf="searching">searching…</span>
<div class="invalid-feedback" *ngIf="searchFailed">Lookup failed.</div>
</div>
requiredIndicator
- это просто для более старого стиля, который я использовал, чтобы показать звездочку, если это было необходимо, и использовал этот CSS:
.requiredIndicator {
color: red;
font-size: larger;
vertical-align: baseline;
position: relative;
top: -0.1em;
}