我有一个 angular 2 形式,其中我必须在某些情况下创建一个字段,例如:
description: ['', Validators.required]
只有在某些类型的条件下才需要此描述字段,例如:
if(true){descReq = true};
如何实现,请指教。提前致谢!
最佳答案
您可以根据表单上另一个控件的值添加或删除验证器:
testForm: FormGroup;
constructor(private formBuilder: FormBuilder) {
this.testForm = this.formBuilder.group({
condition: [''],
description: ['']
});
this.testForm.controls['condition'].valueChanges.subscribe(result => {
if (result) {
this.testForm.controls['description'].setValidators(Validators.required);
this.testForm.controls['description'].updateValueAndValidity();
} else {
this.testForm.controls['description'].setValidators(null);
this.testForm.controls['description'].updateValueAndValidity();
}
});
}
关于Angular 2 : Apply Validator. 在某些情况下需要验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42238639/