没有Validators的情况下,自定义验证程序不会崩溃。

时间:2018-10-30 12:08:58

标签: angular6 angular-reactive-forms

我已经在angular6中编写了一个自定义验证器:

export class CustomValidator {

    static validateSku(skuService: SkuService) {
        return (control: AbstractControl) => {
            let skuId = control.value;
            if(skuId){
                return skuService.getSkuById(skuId)
                    .pipe(
                        debounceTime(500), 
                        take(1),
                        map(data => data ? null : {'invalidSku' : skuId })
                    );
            }
        }
    }
}

但是当我将这个验证器与formControl字段一起使用时,出现以下错误:

代码:

prodid: ['', [Validators.min(0)], CustomValidator.validateSku(this.skuService)]

错误:

ERROR Error: Expected validator to return Promise or Observable.

但是将它与Validators.required一起使用不会抛出任何错误。但是我不想在这里使用必需的验证器。

与验证程序兼容的代码。必需

prodid: ['', [Validators.required, Validators.min(0)], CustomValidator.validateSku(this.skuService)]

0 个答案:

没有答案