Angular reactive forms input is valid if pristine even if setValidators set to required
我需要以编程方式更改Angular反应形式中输入的验证器。
所以我初始化表格:
1 2 3 | ... limitNumber: [{ value: null, disabled: (this.id ? true : false) }] ... |
然后,我启用输入并更改所需的验证器:
1 2 | this.newEventForm.get('limitNumber').enable(); this.newEventForm.get('limitNumber').setValidators(Validators.required); |
在此之后,只要输入保持原始状态,输入状态就是
我的问题是,即使将原始验证器设置为
我能怎么做 ?
*****编辑*****
我的目标是能够有条件地进行输入。
假设用户创建了一个事件。在新的事件表单中,它可以选择设置最大参与者数。
如果用户切换输入(让我们将其称为" isLimited"),那么我需要一个新的输入来输入此数字限制,该数字限制将被启用(让我们将其称为" limitNumber"输入),因此必须填写。
因此,我的最终目标是仅在将" isLimited"输入切换为true时,才使此输入为"必需"
我只需要使用以下代码来检查有效性:
1 | this.newEventForm.get('limitNumber').updateValueAndValidity(); |