Angular material mat错误的mat form字段内的插值工作不正常

Angular material mat错误的mat form字段内的插值工作不正常,angular-material,customvalidator,Angular Material,Customvalidator,我正在使用角度材质中的自定义验证验证用户名 下面是我的代码 <mat-form-field> <input id="Username" required name="Username" [(ngModel)]="employee.Username" type="text" matInput #Username="ngModel" (focusout)="ValidateUsername($event.target.value)" p

我正在使用角度材质中的自定义验证验证用户名 下面是我的代码

 <mat-form-field>
          <input id="Username" required name="Username" [(ngModel)]="employee.Username" type="text" matInput
            #Username="ngModel" (focusout)="ValidateUsername($event.target.value)" placeholder="Username">
            <mat-error *ngIf="isNotValidUsername">Username already exist</mat-error>
          <mat-error *ngIf="Username.errors?.required && Username.touched">Required</mat-error>
        </mat-form-field>

用户名已存在
要求的
问题是“用户名已存在”错误未显示。
如果我在mat form字段之外写这个错误行代码,那么它就起作用了。而且,如果触发了必需的错误,那么它也会显示“用户名已存在”错误。但它单独在垫子表单字段标记中不起作用。我做错了什么?如何显示它?

如果控件有效,mat error将不显示错误。您可以使用错误状态匹配器为输入设置无效状态。下面的文章包括如何在密码验证表单组中实现它


请提供您的验证代码!ValidateUsername(用户名){this.employeeService.ValidateUsername(用户名).subscribe((res:boolean)=>{this.isNotValidUsername=res;})调试代码时,ValidateUsername函数会被调用吗?是的,它调用了,并将其响应保存在“this.isNotValidUsername”变量中。当我将“”标记放置在mat form字段标记之外时,它显示错误。否则它就看不见了。