我有一个<input>
,其中包含一个电话号码。电话号码在服务器端(很多业务逻辑)进行了验证。
我做了一个异步验证器PhoneNumberValidator
。在它调用服务器时,我希望仅在用户离开字段(模糊)时才触发验证。
FormControl
构造函数包含3个参数:
constructor(
formState?: any,
validatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions | null,
asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null
);
AbstractControlOptions
或为空因此,对于简单的验证器,可以传递包含选项AbstractControlOptions
的{{1}},该选项正是我想要的。
为什么异步验证器没有这样的选项?还有另一种方法吗?
答案 0 :(得分:1)
我是通过这样在FormGroup上定义FormControl来完成此操作的:
{
controlName: new FormControl({
validators: [ Validators.required, etc ]
asyncValidators: yourValidatorFunction(),
updateOn: 'blur',
}),
}