验证器撰写角度似乎不起作用

Posted

技术标签:

【中文标题】验证器撰写角度似乎不起作用【英文标题】:Validators compose angular seems to be not working 【发布时间】:2019-10-18 12:25:42 【问题描述】:

我正在尝试使用 2 个验证器来验证用户的输入,这些验证器的模式与 Validators.compose([]) 相结合 但是然后在html中我试图验证但它不起作用 代码如下:

组件.ts

...
searchForm: FormGroup;

  constructor(
    private data: DataSharingService,
    private router: Router
  ) 

  ngOnInit() 
    this.createSearchForm();
    this.newMessage()
  

  private createSearchForm(): void 
    this.searchForm = new FormGroup(
      emailFormControl: new FormControl('', Validators.compose([
        Validators.pattern['/^[a-zA-Z]2[0-9]6/'],
        Validators.pattern['/^[0-9]10/']
      ]))
    );
  
...

component.html

<form class="mainContainer" [formGroup]="searchForm">
<mat-form-field class="searchfield">
  <input matInput placeholder="Type in tax payer ID or initials " 
        formControlName="emailFormControl"
        i18n-placeholder="@@SearchPeHint">
  <mat-error *ngIf="searchForm.controls['emailFormControl'].hasError('required')" i18n="@@SearchPeParamsRequired">
       Tax payer ID or initials are required!
  </mat-error>
</mat-form-field>

【问题讨论】:

【参考方案1】:

您不必使用Validators.compose([])。在 mat-error 中检查 searchForm.controls['emailFormControl'].hasError('required')" 但 emailFormControl 没有必需的验证器。

About Validators.compose()

【讨论】:

以上是关于验证器撰写角度似乎不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Angular 表单验证 ng-disabled 不起作用

角度材料自动完成力选择不起作用

服务器端验证似乎在 Spring Boot 2.3.1.RELEASE 中不起作用

在角度组件之间传递参数不起作用

console.log 在角度控制器中不起作用

ng serve 命令不起作用 角度 5