我有一组显示给用户的输入,取决于选择的选项。如果用户选择显示输入的选项,则更改其选项以将其删除,然后提交删除的输入,将导致验证失败。但是,如果他们从不选择显示上述输入内容的选项,那么验证就可以了。
例如:
如果他们选择“当前受雇”,则填写表格,要求输入雇主姓名。如果他们取消选择该选项,则名称字段将消失,但会使表单无效。如果他们根本不选择它,那么验证就可以了。
答案 0 :(得分:0)
如果没有更多信息,这真的很难解决。
但是我认为您的问题是FormGroup状态仍然将Validators附加到FormControl。
删除FormControl
时,还需要清除附加到FormGroup
的验证程序。
this.formGroup.get('formControl').clearValidators();
this.formGroup.get('formControl').updateValueAndValidity();
您还可以从FormGroup
删除或添加整个formControl。
addControl(name: string, control: AbstractControl): void
removeControl(name: string): void
更多信息about Reactive Forms可以在angular.io网站上阅读。