我有一个名为fooValidator
的customValidator的输入(它的作用与此无关,它只是一个自定义验证器,如果它与某些正则表达式相对应,它会验证输入):
<form #contratForm="ngForm">
<input type="text"
class="validate"
[(ngModel)]="foo"
name="foo"
ngControl="foo"
fooValidator
(ngModelChange)="blah($event)"
required
/>
</form>
在我的组件中:
blah(event) {
if(this.contratForm.controls.foo.valid){
console.log("Valid")
}
}
&#34;有效&#34;从未在我的控制台中显示。它发生在验证之前执行ngModelChange。我可以将blah
函数包含在setTimeout
和&#34;有效&#34;会出现。有没有办法在不使用hacky setTimeout
的情况下这样做?
答案 0 :(得分:1)
你可以使用
this.contratForm.get('foo')
.statusChanges.forEach(
(s) => {
console.log(s);
}
);