Requerir una casilla de verificación para ser verificado

Quiero que se desactive un botón hasta que se haya marcado una casilla de verificación utilizando un FormBuilder para Angular. No quiero verificar explícitamente el valor de la casilla de verificación y preferiría usar un validador para poder simplemente verificarform.valid.

En ambos casos de validación debajo de la casilla de verificación está

interface ValidationResult {
  [key:string]:boolean;
}

export class CheckboxValidator {
  static checked(control:Control) {
    return { "checked": control.value };
  }
}

@Component({
  selector: 'my-form',
  directives: [FORM_DIRECTIVES],
  template: `  <form [ngFormModel]="form" (ngSubmit)="onSubmit(form.value)">
    <input type="checkbox" id="cb" ngControl="cb">
    <button type="submit" [disabled]="!form.valid">
    </form>`
})

export class SomeForm {
  regForm: ControlGroup;

  constructor(fb: FormBuilder) {
    this.form = fb.group({
      cb: [ CheckboxValidator.checked ]
      //cb: [ false, Validators.required ] <-- I have also tried this
    });
  }

  onSubmit(value: any) {
    console.log('Submitted: ', this.form);
  }
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta