该代码位于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
答案 0 :(得分:0)
我能够解决它。我在validateVerifyPassword
的{{1}}类中定义了HelperService
,即
helper.service.ts
我应该已经将其定义为类之外的函数
export class HelperService {
validateVerifyPassword() {
}
}