Anfordern eines Kontrollkästchens, das überprüft werden soll

Möchte ich eine Schaltfläche deaktiviert, bis Sie eine checkbox aktiviert wurde mit einem FormBuilder für Eckige. Ich will nicht, um explizit zu überprüfen, den Wert der checkbox und bevorzugen ein validator so, ich kann einfach überprüfen form.valid.

In beiden Fällen Validierung unten die checkbox

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);
  }
}

InformationsquelleAutor der Frage nathasm | 2016-02-17

Schreibe einen Kommentar