【发布时间】:2020-04-17 23:19:15
【问题描述】:
我尝试为我的 Angular 9 表单实现自定义验证器。验证有点困难。
因为几个字段取决于选择输入的选择。
例如,如果我选择我选择的选项之一,则需要 Formfield 3。
但如果我选择选项二,Formfield 5 是必需的。
这就是我编写自定义验证器的原因:
export class FormComponent {
public form: FormGroup = new FormGroup({
...
selectField: new FormControl(null, [Validators.required]),
...
formField3: new FormControl(null, [this.validatorArtAende]),
formField4: new FormControl(),
formField5: new FormControl(null, [this.validatorArtAender])
});
validator (control: AbstractControl) => {
if (this.form.value.selectField === 'option1' && control.value.length === 0) {
return { required: true };
}
return null;
}
}
问题在于 this.form 是未知的(无法读取未定义的属性“表单”)。 那么是否有任何选项可以将不同控件的表单或值传递给自定义验证器?
【问题讨论】:
标签: angular