我们可以将自定义验证器添加到响应式表单
在 HTML 中
<form [formGroup]="tableForm">
<div class='form-group'>
Table values<input id="tableValue" class='form-control' type="text" formControlName="tableValue" required><br>
</div>
<span style="color:red" *ngIf="tableForm.get('tableValue').errors?.inputValidator">Enter a valid value</span><br>
</form>
在 ts
title = "TableValues";
tableForm: FormGroup;
constructor(private fb: FormBuilder) { }
ngOnInit() {
// Basic FormControl
this.tableForm = new FormGroup({
tableValue: new FormControl(),
});
// FormBuilder example
this.tableForm = this.fb.group({
tableValue: [null, this.inputValidator(['x', 'y', 'z'])],
});
}
inputValidator(val) {
return (control: AbstractControl): { [key: string]: boolean } | null => {
if (
control.value !== null && !val.includes(control.value)
) {
return { inputValidator: true };
}
return null;
};
}