2015-12-23 67 views
5

我有这段代码,无论我尝试,我无法通过以下错误。TypeScript'...'类型'typeof'上不存在''

错误: 属性'EmailValidator'在类型'typeof UserValidators'上不存在。

代码:

import {EMAIL_REGEX} from '../constants'; 
import {Control} from 'angular2/common'; 

export interface IUserValidators { 
    EmailValidator(control: Control) : Object; 
} 

export class UserValidators implements IUserValidators { 
    EmailValidator(control: Control) : Object { 
    if (!control.value) { 
     return { 
     required: true 
     }; 
    } else if (control.value) { 
     if (!new RegExp(EMAIL_REGEX).test(control.value)) { 
     return { 
      invalid: true 
     }; 
     } 
    } 
    return {}; 
    } 
} 

这是我尝试注入为EmailValidator:

this.fb.group({ 
     email: ['', UserValidators.EmailValidator] 
}); 
+4

该错误是完全正确的。这是一种实例方法;你需要一个实例。 – SLaks

+0

谢谢SLaks,我忘了它。 – alik

回答

4

你应该创建这个类的一个实例可以访问它,就像这样:

var userValidators : IUserValidators = new UserValidators(); 
userValidators.EmailValidator(ctrl); 
相关问题