angular - 使用 Angular 8 在嵌套的 FormControl 对象上设置验证器
问题描述
如何在带有子对象的嵌套 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()
为了运行新的验证器。