角形式验证如何仅执行某些验证器

时间:2019-03-13 10:29:51

标签: angular

我有一个角度形式的控件(“第一个”),上面有2个自定义验证器。

验证器之一是异步验证器,该异步验证器转到服务器以检查字段的验证(需要与数据库一起检查)。

this.mainForm.controls['first'].setAsyncValidators([customAsyncValidator()]);
this.mainForm.controls['first'].setValidators([customValidator(this.mainForm.controls['second'])]);

在更新形式不同的字段(“秒”)时,我需要在“第一个”控件上运行customValidator,因为“ customValidator”将根据“第二个”中的值验证值“控制。

在模糊“第二个”控件时,我只验证第一个。

this.mainForm.controls['first'].updateValueAndValidity();

上述解决方案的不好之处在于,它会执行“ firts”控件的所有验证器,包括确实需要一些时间且在这种情况下不需要的异步验证器(仅当“第一个”控件中的值将被更改。)

我想知道的是-有什么方法可以执行一个控件的验证程序,而不是全部?

类似这样的东西:

this.mainForm.controls['first'].updateValueAndValidity([customValidator,...])

0 个答案:

没有答案