angular - 反应式表单 - 控件无效但表单仍然有效
问题描述
考虑这段代码:
foo(){
...
aControl.valueChanges.subscribe(value => {
if (value == AmountType.FIXED) {
variableAmount.setValidators(null);
variableAmount.setValue(null);
fixedAmount.setValidators(Validators.required);
}
else{
fixedAmount.setValidators(null);
fixedAmount.setValue(null);
variableAmount.setValidators(Validators.required);
console.log(form.valid)
console.log(form.get('variableAmount').valid)
}
}
“true”然后“false”在控制台中打印。这样的情况怎么会发生?表单如何有效而其中一个控件无效?
我尝试了 form.updateValueAndValidity() 和 form.get('variableAmount').updateValueAndValidity() 但没有任何变化。
解决方案
您可能禁用了其他控件,这会禁用它们的验证
推荐阅读
- javascript - javascript获取错误的地址
- android - 文本 BackgroundColor 的边框单选
- javascript - 使用lodash在javascript中省略一个或多个值
- c# - Youtube API V3 搜索文本并获取特定详细信息,例如 Id、视图和片段图像 url
- jquery - 输入类型=“数字”的值总是在鼠标滚轮上关闭
- reactjs - react-redux-firebase - 如何使用 ID 数组从 Firestore 查询文档?
- java - SwingFXUtils.toFXImage 在 Jar 中运行缓慢
- java - 使用 DataJpaTest 时在 Hibernate 上使用 IdClass 作为复合键的复合键
- python - (Matplotlib)在 y 轴上放置自定义值?
- azure - Azure 功能 - 门户代码部署功能正在跳过构建