title: No Provider for FormBuilder
body: <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>