【发布时间】:2021-12-27 20:04:54
【问题描述】:
我正在用 Angular 构建一个表单,并且我正在为每个字段使用验证器,html 表单看起来像这样:
<form [formGroup]="form">
<mat-form-field>
<label translate>Name field</label>
<input formControlName="name" matInput>
</mat-form-field>
...
在 .ts 文件中,我使用以下命令初始化表单:
ngOnInit() {
this.initializeForm();
}
initializeForm() {
this.form = this.fb.group({
nameControl: new FormControl(this.initialShare?.name, [Validators.required, noWhitespaceValidator]),
...
});
}
noWhitespaceValidator 是一个自定义验证器,用于检查用户输入是否仅包含空格。
我的问题是,我如何添加一段文本来显示哪个验证器未通过,例如,我想打印:如果 Validators.required 失败,则需要名称,或者,名称不能仅由空格,如果 noWhitespaceValidator 失败。
【问题讨论】:
-
当表单验证未通过时,您可以通过实现一个snackbar/modal/dialog 来做到这一点..
-
@iLuvLogix 主要问题是我不知道如何检查验证是否通过,更确切地说,是哪个验证器
-
你可以使用 i.E. ngif
<div *ngIf="form.controls['name'].invalid && (form.controls['name'].dirty || form.controls['name'].touched)" class="alert"> <div *ngIf="form.controls['name'].errors.required"> Please enter username </div>只是一个示例,formfield-names 和验证器需要更改为您拥有的任何内容.. -
查看 -> pluralsight.com/guides/… 了解更多信息
标签: angular