我有一个简单的反应形式:
this.loginForm = this._fb.group({
email: ['', [Validators.required, Validators.pattern('^[A-Za-z0-9._%+-]+@gmail.com$')]],
password: ['', Validators.required]
});
关于HTML:
<!------------------------- PASSWORD FIELD ------------------------->
<div class="uk-margin">
<input type="password" class="uk-input"
placeholder="Enter Password" formControlName="password">
<!----- VALIDATION WARNINGS ----->
<div *ngIf="loginForm.get('password').touched">
<div *ngIf="loginForm.get('password').hasError('required')">
<div class="uk-text-danger"> Password is required.</div>
</div>
</div>
</div>
然后在CSS中:
.ng-valid[required] {
border: 5px solid #42A948;
}
.ng-invalid[required] {
border: 5px solid red;
}
正在应用ng-valid/invalid
CSS。我想更改输入字段边框的颜色。但CSS并不适用于我。我究竟做错了什么?
更新
答案 0 :(得分:0)
ng-invalid和ng-valid,您可以进一步自定义css以解决此问题。
ng-valid.ng-touched {
border: 5px solid #42A948;
}
ng-invalid.ng-touched {
border: 5px solid red;
}
答案 1 :(得分:0)
您可以根据错误将[ngClass]
用于条件类。例如:
<!------------------------- PASSWORD FIELD ------------------------->
<div class="uk-margin">
<input
type="password"
class="uk-input"
placeholder="Enter Password"
formControlName="password"
[ngClass]="{'has-error': loginForm.get('password').touched && loginForm.get('password').hasError('required')}">
<!----- VALIDATION WARNINGS ----->
<div *ngIf="loginForm.get('password').touched">
<div *ngIf="loginForm.get('password').hasError('required')">
<div class="uk-text-danger"> Password is required.</div>
</div>
</div>
</div>
然后在CSS中:
uk-input.has-error{
/* your styles */
}