【发布时间】:2023-03-13 19:55:01
【问题描述】:
如何在带有子对象的嵌套 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))
错误是第一个的未定义错误,而不是第二个命令的函数。
【问题讨论】:
-
你的控件名称是
productproductId在哪里? -
也发布所有(子formGroup)结构!
-
只需使用
this.editSharedForm.get('product').setValidators(yourValidators),然后调用this.editSharedForm.get('product').updateValueAndValidity()即可运行新的验证器。 -
'product':this.formBuilder.group({productId:new FormControl(null)})
-
嗨@AndreiGătej 随时回答,我可以发送积分,谢谢
标签: angular typescript angular8 angular-reactive-forms