Angular 我是否可以扩展“Validators”命名空间以包含自定义验证器实现?
我必须为被动表单添加自定义验证器。我将以书面形式这样做Angular 我是否可以扩展“Validators”命名空间以包含自定义验证器实现?,angular,typescript,Angular,Typescript,我必须为被动表单添加自定义验证器。我将以书面形式这样做 export class CustomValidators { isMemberOf(allowedValues: any[]) { return (ctrl: AbstractControl) => { //whatever }; } } 我如何声明这样的方法,使其成为表单模块提供的现有验证器类的一部分,以便像验证器一样可以访问。isMemberOf(…)就像验证器一样。必需的检查,它可能有助于
export class CustomValidators {
isMemberOf(allowedValues: any[]) {
return (ctrl: AbstractControl) => {
//whatever
};
}
}
我如何声明这样的方法,使其成为表单模块提供的现有验证器
类的一部分,以便像验证器一样可以访问。isMemberOf(…)
就像验证器一样。必需的
检查,它可能有助于满足您的需要
import { Validators } from "your-module";
declare module "your-module" {
interface Validators {
isMemberOf(allowedValues: any[]): any;
}
}
Validators.prototype.isMemberOf = (allowedValues: any[]) => {...}
关闭,但我的验证器可以通过
Validators.prototype.isMemberOf
使用(甚至在智能感知中)。问题是,这必须被视为静态函数。如何做到这一点?或者您可以如图所示扩充构造函数