在提供程序中使用useValue时无法编译代码

时间:2018-08-26 06:57:22

标签: angular6

该代码位于https://stackblitz.com/edit/angular-xesgxe

这是一个注册表单,我正在尝试创建一个自定义验证器。验证功能位于helper.service.ts中。我想以其他方式验证verify password字段,并在validateVerifyPassword中创建了helper.service.ts函数。在Validators....中使用signup-component.components.ts函数对所有其他字段进行验证的同时,我想在verify password中使用自定义指令来验证signup-component.component.html字段。

其他字段

lastName:[null,[Validators.required,Validators.pattern(/[A-Za-z]+/)]], 
email:[null,[Validators.required,Validators.pattern(this.EMAIL_PATTERN)]],       
password:[null,[Validators.required,Validators.minLength(8),this.helper.validatePassword]]

确认密码字段

<input id="verify-password" type="password" class="form-control" formControlName="confirmPassword" [ngClass]="validateField('confirmPassword')" ngModel validateVerifyPassword >

但是当我在providers中添加validate-verify-password.directive.ts时,代码无法编译。

providers: [
    { provide: NG_VALIDATORS, useValue:validateVerifyPassword, multi: true }
  ]

我在做什么错?错误是 Error in src/app/validate-verify-password.directive.ts (8:39) validateVerifyPassword is not defined Evaluating src/app/validate-verify-password.directive.ts Evaluating src/app/app.module.ts Evaluating src/main.ts Booting application

1 个答案:

答案 0 :(得分:0)

我能够解决它。我在validateVerifyPassword的{​​{1}}类中定义了HelperService,即

helper.service.ts

我应该已经将其定义为类之外的函数

export class HelperService {
validateVerifyPassword() {
}
}