Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 我是否可以扩展“Validators”命名空间以包含自定义验证器实现?_Angular_Typescript - Fatal编程技术网

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
使用(甚至在智能感知中)。问题是,这必须被视为静态函数。如何做到这一点?或者您可以如图所示扩充构造函数