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!