表行中的Angular 2验证

时间:2016-12-12 21:55:32

标签: angular

基本问题是验证表行中包含的控件的正确方法是什么?我有一组像这样的HTML:

<tr *ngFor="let items of myList">
<input class="form-control" [ngModel]="item.foo" />
...
</tr>

Angular 2的表单api似乎是针对实际表单而不是表格行中的动态控件。是否有关于api缺少的东西,还是有另一种方法可以在表格行中有效地使用api?如果没有,那么获得相同结果的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

这样的东西?

myForm: FormGroup;

ngOnInit() {
  let updated = this.fb.group({
    someField: ['myInitialValue', [Validators.required]],
    groups: this.fb.array([]) //Create empty array
  });
  this.myForm = updated; //Update it
}

arbitaryFunction() { //Call this whenever you want to update validation on dynamic controls.
  const arrayControl = <FormArray>this.myForm.controls['groups']; //Fetch array to add to
  yourItems.forEach(item => { //Loop through your array of items.
    let group = this.fb.group({
    propertyOne: ['InitialValue', [Validators.required]]
  });
  arrayCtrl.push(group);
}