angular - 动态表单数组验证 Angular 2

标签 angular angular2-forms angular5

我正在从服务响应创建动态 FormGroupFormArray,现在我想验证表单数组是否有任何一个输入具有值,否则我没有想要验证。

this.billingForm = this._fb.group({
   itemRows: this._fb.array([this.initItemRows()])
});

  initItemRows() {
    return this._fb.group({
      Id: '',
      orgName: '',
      billing: this._fb.array([]),
      payment: this._fb.array([])
    });
  }

最佳答案

你可以使用这样的东西:

// Subscribe to value changes on FormGroup
this._fb.valueChanges.subscribe(c => {
    // Check empty values
    if (this._fb.controls['Id'].value !== '' && this._fb.controls['orgName'].value !== '') {
        // Set validators
        this._fb.controls['billing'].validator = Validators.required; // You can specify any validator method here
        this._fb.controls['payment'].validator = Validators.required;
    } else {
        this._fb.controls['billing'].validator = null;
        this._fb.controls['payment'].validator = null;
    }
});

您可以在此处获取有关自定义验证器的更多信息:Click!

关于angular - 动态表单数组验证 Angular 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47795339/

相关文章:

javascript - Angular 6 url 模式验证器

javascript - 类型错误 : Ajv is not a constructor

javascript - 如何停止执行 Angular 并向 Internet Explorer 用户显示消息?

forms - 带有预填充数据的 Angular2 表单验证

angular - 如何在 Angular2 的某些 div 中只读所有输入?

javascript - Angular 5 : Get host name and app name from URL

python - 如何通过 Django 后端将数据从 HDFS 发送到 Angular 5 前端?

angular - 类型 header 不可分配给 TypeScript 和 Angular 9 中的 HttpHeaders 类型

javascript - 如何使用单独的添加按钮在 IONIC2/Angular2 表单中添加嵌套字段

webpack - 回调已经被称为 angular cli