【发布时间】:2019-02-12 07:16:10
【问题描述】:
我正在使用 Angular rc4 版本来编写一个应用程序,在该应用程序中我必须强加一些验证规则来形成组件,例如 required、minlength 以及一些自定义验证器 emailValidator。
当我将一个内置验证器和一个自定义验证器传递给 Validators.compose 函数时,IDE(Webstorm 和 VS 代码)会向我显示编译时错误消息,如下所示:
但是,您可以在上面的屏幕截图中看到,如果两个验证器都内置,则没有错误消息。
我的自定义验证器的定义如下:
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 };
}
}
【问题讨论】: