angular6 - 在 Provider 中使用 useValue 时无法编译代码
问题描述
该代码可在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
解决方案
我能够解决它。我在ie的课堂上定义validateVerifyPassword
了HelperService
helper.service.ts
export class HelperService {
validateVerifyPassword() {
}
}
我应该把它定义为类外的一个函数
export class HelperService {
}
function validateVerifyPassword() {
}
推荐阅读
- c++ - 使用 boost 套接字禁用 TIME_WAIT
- python - 如何找到 DBSCAN 的最佳参数?
- python-3.x - 尝试使用 tkinter gui 停止 Python 语音识别循环
- javascript - 范围问题 - 在回调中更改数据正在更改更高范围
- java - 我可以使用Android studio进行纯JAVA开发吗
- date - cron 作业在日期时间格式上失败
- swift - 如何在 SwiftUI 中选择性地传入绑定?
- c - 将指针分配给结构 C 时出现分段错误
- excel - 如何从文件夹中的最后两个excel文件打开,复制,粘贴和关闭
- highcharts - highcharts 附加标题意见