Проблема с запуском пользовательской проверки в шаблонной форме Angular - PullRequest
0 голосов
/ 16 июня 2020

Я создал директиву для настраиваемой проверки поля формы UserName, но не могу заставить ее активироваться для нужного элемента формы:

@Directive({  
  selector: '[appValidateName]',  
  providers: [{ provide: NG_VALIDATORS, useExisting: ValidateNameDirective, multi: true }]  
})  
export class ValidateNameDirective implements Validator {      
  validate(control: FormControl): { [key: string]: any } | null {  
    return {"results": false};
  }  
}  

и шаблона формы:

<form class="sign-up-form" (ngSubmit)="onSubmit()" #accountForm="ngForm">
  <p>
    <mat-form-field class="sign-up-field" appearance="outline">
      <mat-label>First Name</mat-label>
      <input matInput required [(ngModel)]="account.first_name" id="first_name" appValidateName name="first_name" class="form-control" #first_name="ngModel">
      <mat-error *ngIf="!first_name.valid">First Name is required</mat-error>{{first_name.valid}}
    </mat-form-field>
  </p>
</form>

... Валидатор required работает правильно, но я устанавливаю точку останова в моем пользовательском валидаторе, и он никогда не срабатывает, даже если в этом поле существует атрибут appValidateName.

...