Вы можете сделать что-то вроде этого:
import { Component } from '@angular/core';
import { FormGroup, FormControl, Validators, AbstractControl } from '@angular/forms';
@Component({...})
export class AppComponent {
form: FormGroup = new FormGroup({
control: new FormControl(null, Validators.required)
});
get validator() {
const validator = this.form.get('control').validator({} as AbstractControl);
console.log(validator);
if (validator && validator.required) {
return true;
}
}
}
А затем в вашем шаблоне:
<form [formGroup]="form" (submit)="onSubmit()">
Control: <span *ngIf="validator">*</span> <input type="text" formControlName="control">
<button>Submit</button>
</form>
ПРИМЕЧАНИЕ: Просто получите контроль формыкак тип AbstractControl
с использованием этого this.form.get('control').validator({} as AbstractControl);
Это вернет объект со списком валидаторов, которые присутствуют в вашем FormControl
.Затем вы можете проверить наличие ключа required
в Объекте.Если он существует и его значение равно true
, то вы можете быть уверены, что Обязательный валидатор применяется к FormControl
.
Вот Рабочий образец StackBlitz для вашей ссылки.