2
任何人都可以请指导如果我们完全不使用模板驱动表单,那么实现自定义验证器的正确方法是什么?无功表单的角度2自定义验证器
我已经通过
https://blog.thoughtram.io/angular/2016/03/14/custom-validators-in-angular-2.html
和
https://angular.io/docs/ts/latest/cookbook/form-validation.html#!#custom-validation
两个走在最后创建指令,有必要吗?或者我们可以做到这一点,而无需创建指令?
我尝试这样做:
//my-app.module.ts
export interface ValidationResult {
[key: string]: boolean;
}
function personName(control: FormControl): ValidationResult {
if (!control.value) {
return null;
}
var valid = /^[a-zA-Z. ]*$/.test(control.value);
if (valid) {
return null;
}
return { "pattern": true };
}
@NgModule({
imports: [
CommonModule,
ReactiveFormsModule
],
declarations: [
MyComponent
],
exports: [
],
providers: [{ provide: NG_VALIDATORS, useExisting: personName, multi: true }]
})
export class MyModule { }
但是当我申请PERSONNAME验证我的反应形式,并测试它在浏览器中,我得到以下错误控制台:
ERROR Error: Uncaught (in promise): Error: No provider for personName!