是否可以在Ionic3的FormArray中为每个FormControl应用Validator?

时间:2018-02-21 03:50:31

标签: angular forms ionic-framework ionic3

我有一个int main(int argc, char *argv[]) { int *var; printf("before in %s : %p\n",__func__,var); func(&var); /* pass the address of var */ printf("after in %s : %p\n",__func__,var); //system("pause"); return 0; } void func(int **newvar) { int *tmp = malloc(sizeof(*newvar)); *newvar = tmp; /* it will change the var in calling function */ printf(" in %s : %p\n",__func__,*newvar); } 分配如下:

FormGroup

所有this.homeForm = new FormGroup({ bicos: new FormArray([],HomeInputValidator.isValid) }); 都添加到FormControl中,如下所示:

FormArray

据我所知,验证者正在回答整个addForm(){ (<FormArray>this.homeForm.controls['bicos']) .push(new FormControl(null)); } ,即当一个FormArray无效时,它会触发所有其他FormControl。我希望它对FormControl 内的valid/touched中的每一个单独进行回答(例如FormControls),这可能吗?

感谢您的关注!

1 个答案:

答案 0 :(得分:3)

您可以使用

定义新的表单控件验证程序
new FormControl(null,Validators.email)

然后您可以使用此方法访问它们

const formArray = this.tableForm.get('tableRows') as FormArray;
const controlList = formArray.controls as FormControl[];

    controlList.forEach( control=>{
      if(control.valid){

      }
    })

我希望这会对你有所帮助。