Angular2触发自定义验证器

Sci*_*ion 1 input angular

我已经完成了一个自定义验证器,我将其应用于我的两个输入之一:

<input type="text"
     class="validate"
     [(ngModel)]="foo"
     name="foo"
     ngControl="foo"
     customValidator                                   
     [validatorArg]="blah"
/>

<input type="text"
     class="validate"
     [(ngModel)]="blah"
     name="blah"
/>
Run Code Online (Sandbox Code Playgroud)

customValidator取决于第二个输入.所以我在这里想要的是foo在我修改输入时触发输入上的验证器blah.知道怎么做吗?我可以做到ngModelChange

编辑:我的输入是表单的一部分,FormGroup

Ján*_*aša 6

模板驱动表单有点问题.我这样做了

<input name="blah" ... (ngModelChange)="triggerValidation(formObject.controls.foo)">

triggerValidation(control: AbstractControl) {
    control.markAsTouched();
    setTimeout(() => control.updateValueAndValidity(), 0);
}
Run Code Online (Sandbox Code Playgroud)

如果同步运行updateValueAndValidity()(没有超时),它可能会使用"blah"输入的旧值.