Angular 角度自定义表单控件验证对表单有效,但对Control.valid无效

Angular 角度自定义表单控件验证对表单有效,但对Control.valid无效,angular,custom-controls,Angular,Custom Controls,由于需要一些自定义验证,我正在尝试在Angular应用程序中构建一个自定义表单控件。我从Plunker那里取了一个工作样本,并开始在它的基础上进行构建。它在HTML和表单本身中运行良好:每当它变为无效时,控件上就会添加ng invalid类,当它有效时,就会添加ng valid类,如果我在HTML上打印form.valid,它就会正确地打印它。但是,如果在我的typescript组件中调用控件.valid属性,该控件总是有效的,我不明白为什么 我自己制作了一个Plunker来举例说明: 我

由于需要一些自定义验证,我正在尝试在Angular应用程序中构建一个自定义表单控件。我从Plunker那里取了一个工作样本,并开始在它的基础上进行构建。它在HTML和表单本身中运行良好:每当它变为无效时,控件上就会添加
ng invalid
类,当它有效时,就会添加
ng valid
类,如果我在HTML上打印
form.valid
,它就会正确地打印它。但是,如果在我的typescript组件中调用
控件.valid
属性,该控件总是有效的,我不明白为什么


我自己制作了一个Plunker来举例说明:


我有一个控件无效时应该出现的
,我在
validarSpan()
函数中检查它。但是,查看
控制台.log
无效
始终为假,即使输入控件上清楚地显示了
ng invalid
。我知道我可以检查这个,但是control.valid用于我的所有其他组件的正常控件,如果让它不工作是很危险的。是否有方法重写控件.valid以便返回正确的信息?我已经干了一天多了,哪儿也没去。谢谢你的帮助