原因是我们有一个非常大的形式,不表示是否需要一个字段,用户可能会错过一些所需的控制,所以在提交时,预计所有无效的字段都被错过由最终用户将显示.
我已经尝试使用该表格作为“触摸”
FormGroup.markAstouched(true);
它的工作,所以我也尝试标记为“脏”
FormGroup.markAsDirty(true);
但是班级的CSS仍然是“原始的”,
有没有办法从组件手动触发,我尝试谷歌没有用,谢谢你提前!
UPDATE
我已经通过迭代FormGroup.controls并将其标记为“脏”,使其工作,但是有一个“标准”的方式来做到这一点.
解决方法 我今天没有找到一个标准的方法(角4.0.0),所以我受到OP(markAsDirty递归)提到的解决方案的启发,并在这里分享记录:let markAsDirty = function(group: FormGroup | FormArray) { group.markAsDirty() for (let i in group.controls) { if (group.controls[i] instanceof FormControl) { group.controls[i].markAsDirty(); } else { markAsDirty(group.controls[i]); } } }
希望会有用!
总结以上是内存溢出为你收集整理的角度2反应式表单触发验证提交全部内容,希望文章能够帮你解决角度2反应式表单触发验证提交所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)