Angular 5 Validators。仅在特定条件下需要

时间:2018-12-07 15:21:38

标签: angular forms

我正在创建一个非常复杂的表格。仅当用户从选择控件中选择特定值时,我才想在我的textarea控件中设置所需的值。目前,我订阅选择控件,因此每次更改其值时,都会检查所选值是否为1。

    onChanges(): void {
       this.form.controls['D5'].valueChanges.subscribe(changes => {
           if(changes == 1){
               this.form.controls['ND5'].setValidators([Validators.required]);
           }
       });
    }

D5是我的自定义选择,而ND5是我的自定义文本区域。仅当用户从select中选择值1时,我才想在ND5上将验证器设置为required。

1 个答案:

答案 0 :(得分:0)

当D5中的数据不等于1时,ND5控制将被禁用。

onChanges(): void {
       this.form.controls['D5'].valueChanges.subscribe(changes => {
           if(changes !== 1){
               this.form.controls['ND5'].disable();
           }
       });
    }