我已经实现了一个带有自定义验证的自定义表单控件,但是一旦提交父表单,我就无法将控件标记为无效我希望当用户按下提交时,控件会失效.. 到目前为止,只有在触摸它时它才会失效.. 在我的 onDoCheck 中,我设法读取了 form.isSubmitted 属性,但我注意到该控件仍被标记为“有效”
即使我构建逻辑并在我的 onDoChek 中将其强制为无效.. 这样在提交时的父组件中我无法检查控件的有效性,因为我会在 onSubmit 回调之后设置它.. 我在这里缺少什么?
我能想到的丑陋修复是添加
this.form.get('test').updateValueAndValidity();
this.form.get('test').markAsTouched();
在 onSubmit 回调上,但不这样做不应该开箱即用吗?
这里是stackblitz: https ://stackblitz.com/edit/angular-k5un7v?file=src%2Fapp%2Fcustom-input%2Fcustom-input.component.ts
任何帮助是极大的赞赏