gpt4 book ai didi

Angular 2- 错误 : Type 'AbstractControl' is not assignable to type 'AbstractControl'

转载 作者:行者123 更新时间:2023-12-03 17:05:38 25 4
gpt4 key购买 nike

我正在使用 angular rc4 版本来编写一个应用程序,在该应用程序中我必须强加一些验证规则来形成像 required 这样的组件。 , minlength以及一些自定义验证器 emailValidator .

当我将一个内置验证器和一个自定义验证器传递给 Validators.compose 时功能,IDE(Webstorm 和 VS Code)向我显示编译时错误消息,如下所示:

enter image description here

但是,您可以在上面的屏幕截图中看到,如果内置了两个验证器,则没有错误消息。

我的自定义验证器的定义如下:

static emailValidator(control: AbstractControl): {[key: string]: boolean} {
if (control.value.match(/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/)) {
return null;
} else {
return {'invalidEmailAddress': true };
}
}

最佳答案

我通过替换 control 的类型解决了这个问题来自 AbstractControl 的参数至 Control如下所示:

static emailValidator(control: Control): {[key: string]: boolean} {
if (control.value.match(/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/)) {
return null;
} else {
return {'invalidEmailAddress': true };
}
}
Control类扩展自 AbstractControl .我仍然不明白为什么我在使用 FormControl 时会收到此错误消息或 AbstractControl .

关于 Angular 2- 错误 : Type 'AbstractControl' is not assignable to type 'AbstractControl' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38954021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com