No Provider for FormBuilder
<p>I'm still new to this and learning via tutorials, but for some reason i'm getting the message <code>No provider for formbuilder</code> when trying to test unique username.
I'm not sure why i'm getting this message, but i'm unable to find a solution. Can anyone tell me why this is happening?</p>

<p>signup-component.ts</p>

<pre class="lang-ts prettyprint-override"><code>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]
    })
  }
}
</code></pre>

<p>usernameValidators.ts</p>

<pre class="lang-ts prettyprint-override"><code>import {Control} from '@angular/common'


export class UsernameValidators{

  static shouldBeUnique(control: Control){
    return new Promise((resolve, reject) =&gt; {
      setTimeout(function(){
        if(control.value == "andy")
          resolve({shouldBeUnique: true});
        else
          resolve(null);
      }, 1000);

    });

  }


  static cannotContainSpace(control: Control){
    if (control.value.indexOf(' ') &gt;= 0)
      return {cannotContainSpace: true};

    return null;
  }
}
</code></pre>