with supply name must formgroup formcontrol form for control change angular

angular - supply - Ningún proveedor para FormBuilder



must supply a value for form control with name (1)

Todavía soy nuevo en esto y estoy aprendiendo a través de tutoriales, pero por alguna razón recibo el mensaje No provider for formbuilder cuando intento probar un nombre de usuario único. No estoy seguro de por qué recibo este mensaje, pero no puedo encontrar una solución. ¿Puede alguien decirme por qué está pasando esto?

registro-componente.ts

import {Component} from ''@angular/core''; import {ControlGroup, Control, Validators, FormBuilder} from ''@angular/common'' import {UsernameValidators} from ''./usernameValidators'' @Component({ selector: ''signup'', templateUrl: ''signup-component.html'' }) export class SignupComponent{ form: ControlGroup; constructor(fb: FormBuilder){ this.form = fb.group({ username:['''', Validators.compose([ Validators.required, UsernameValidators.cannotContainSpace ])], password: ['''', Validators.required] }) } }

usernameValidators.ts

import {Control} from ''@angular/common'' export class UsernameValidators{ static shouldBeUnique(control: Control){ return new Promise((resolve, reject) => { setTimeout(function(){ if(control.value == "andy") resolve({shouldBeUnique: true}); else resolve(null); }, 1000); }); } static cannotContainSpace(control: Control){ if (control.value.indexOf('' '') >= 0) return {cannotContainSpace: true}; return null; } }


Importar FormsModule y FormsModule ReactiveFormsModule y FormsModule

@NgModule({ imports: [ BrowserModule /* or CommonModule */, FormsModule, ReactiveFormsModule ], ... })

en el módulo donde estás usando FormBuilder