Я пытаюсь использовать пользовательский валидатор в форме этого метода
uniqueCodeValidator(control) {
if (this.products) {
for (const p of this.products) {
if (p.id === control.value && !this.todoid) {
return { idExists: true };
}
}
return null;
}
} // uniqueCodeValidator
, и я загружаю его в свой FormControl следующим образом:
this.id = new FormControl('', Validators.compose([this.uniqueCodeValidator.bind(this),
Validators.required]));
Мой HTML:
<mat-form-field >
<input matInput placeholder="Product Id" type="text" formControlName="id">
<mat-hint *ngIf="id.errors && (id.dirty || id.touched)" align="end"
[ngStyle]="{'color': 'red'}">
<p *ngIf="id.hasError('required')">Product Id is required.</p>
<p *ngIf="!id.hasError('required') && id.hasError('idExists')">Unique Id Required
</mat-hint>
</mat-form-field>
Мой вопрос: почему мой «Обязательный» валидатор работает, а не пользовательский метод валидатора uniqueCodeValidator (control)?Я не получаю ошибок, это просто не касается метода.Это возможно проблема с тем, как я загружаю его в мой массив валидатора?