angular - 使用 Angular 8 在嵌套的 FormControl 对象上设置验证器

标签 angular typescript angular8 angular-reactive-forms

如何在具有子对象的嵌套 FormControl 上设置验证器? 下面这个产品,实际上有成员:productId、productName、productDescription(来自下拉选择) 我想设置验证器 productId > 4 。

this.editSharedForm = this.formBuilder.group({
   'customerName':[null,[Validators.maxLength(50)],
   'customerPhone': [null, [Validators.maxLength(10)]],
   'product': new FormControl('')

以下无效:

this.editSharedForm.get('product').get('productId').setValidators(Validators.min(5))

this.editSharedForm.get('product').value['productId'].setValidators(Validators.min(5))

第一个错误是未定义错误,而不是第二个命令的函数。

最佳答案

你可以简单地使用

this.editSharedForm.get('product').setValidators(yourValidators)

然后调用

this.editSharedForm.get('product').updateValueAndValidity()

为了运行新的验证器

关于angular - 使用 Angular 8 在嵌套的 FormControl 对象上设置验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59796917/

相关文章:

javascript - 运行 "ng build --prod"时 Angular 8 : erros in core. ts

javascript - RxJS:如何等待多个可观察对象,即使一个或多个失败

angular - 动态创建 Angular 动画

javascript - 在 Angular 8 中设置动态路由

从函数返回 TypeScript 'string'

javascript - 以简洁的方式用模式初始化对象

css - 如何使用卡片而不是 Angular 8 中的数据表来过滤数据?

angular - 在 Angular 2+ 的 ngx-bootstrap Typeahead 中绑定(bind)对象而不是字符串

Meteor:Angular2 VS Blaze 困惑

angular - NGX无限滚动不起作用