要求选中一个复选框

纳沙姆

我希望禁用按钮,直到已使用FormBuilder for Angular选中复选框为止。我不想显式地检查复选框的值,而是希望使用验证器,以便我可以简单地检查form.valid

在两种验证情况下,复选框均是

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);
  }
}
小尼克

.ts

@Component({
  selector: 'my-app', 
  template: `
    <h1>LOGIN</h1>
    <form [ngFormModel]="loginForm"  #fm="ngForm"  (submit)="doLogin($event)"> 

          <input type="checkbox" id="cb" ngControl="cb" #cb="ngForm" required>
          <button type="submit" [disabled]="!loginForm.valid">Log in</button>

          <br/>
              <div>Valid ={{cb.valid}}</div>
              <div>Pristine ={{cb.pristine}}</div>
              <div>Touch ={{cb.touched}}</div>
              <div>form.valid?={{loginForm.valid}}</div>
          <BR/>
          <BR/>

    </form>
    `,
  directives: [ROUTER_DIRECTIVES,FORM_DIRECTIVES,CORE_DIRECTIVES]
})

export class Login { 
  constructor(fb: FormBuilder) {
    this.loginForm = fb.group({
      cb: [false, Validators.required],
    //cb: ['',Validators.required] - this will also work.

    });
  }
  doLogin(event) {
    console.log(this.loginForm);
    event.preventDefault();
  }
}

工作柱塞

请让我知道是否需要任何更改。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在提交表单之前,我如何要求至少选中一个复选框?

来自分类Dev

如何设置复选框并要求选中一个或多个

来自分类Dev

选中一个复选框时,请选中其他复选框

来自分类Dev

仅选中一个复选框

来自分类Dev

仅选中一个复选框

来自分类Dev

用dalekjs选中一个复选框

来自分类Dev

HTML复选框-仅允许选中一个复选框

来自分类Dev

jQuery的每个复选框行仅选中一个复选框

来自分类Dev

如果选中一个复选框,如何取消选中另一个复选框?

来自分类Dev

如果选中一个复选框,如何取消选中另一个复选框?

来自分类Dev

如果选中一个复选框,则将另一复选框设置为未选中

来自分类Dev

仅选中一个复选框,然后取消选中其他复选框

来自分类Dev

在Gridview中选中一个复选框后,会选中(取消)多个复选框-Android

来自分类Dev

在Gridview中选中一个复选框后,会选中(取消)多个复选框-Android

来自分类Dev

即使选中一个复选框,所有复选框也会被选中

来自分类Dev

当其他特定的复选框被选中时,选中一个复选框无法正常工作

来自分类Dev

在Delphi中一次只选中一个复选框

来自分类Dev

在javascript中一次仅选中一个复选框

来自分类Dev

取消选中其中一个复选框时,取消选中CheckboxAll

来自分类Dev

选中一个复选框并检查是否已选中

来自分类Dev

只允许选中一个复选框并获取已选中的值

来自分类Dev

如果未选中一个孩子,则取消选中父复选框

来自分类Dev

通过选中一个复选框来切换一组复选框

来自分类Dev

jQuery单击一个复选框应选中一行中的所有复选框

来自分类Dev

取消选中一个复选框后如何启用所有复选框?使用JavaScript

来自分类Dev

如何通过选中/取消选中一个复选框来选中和取消选中html表中的所有复选框?

来自分类Dev

如何使用jQuery一键选中一个复选框(3)

来自分类Dev

如何一次只选中一个复选框?

来自分类Dev

如何一次只允许选中一个复选框?

Related 相关文章

  1. 1

    在提交表单之前,我如何要求至少选中一个复选框?

  2. 2

    如何设置复选框并要求选中一个或多个

  3. 3

    选中一个复选框时,请选中其他复选框

  4. 4

    仅选中一个复选框

  5. 5

    仅选中一个复选框

  6. 6

    用dalekjs选中一个复选框

  7. 7

    HTML复选框-仅允许选中一个复选框

  8. 8

    jQuery的每个复选框行仅选中一个复选框

  9. 9

    如果选中一个复选框,如何取消选中另一个复选框?

  10. 10

    如果选中一个复选框,如何取消选中另一个复选框?

  11. 11

    如果选中一个复选框,则将另一复选框设置为未选中

  12. 12

    仅选中一个复选框,然后取消选中其他复选框

  13. 13

    在Gridview中选中一个复选框后,会选中(取消)多个复选框-Android

  14. 14

    在Gridview中选中一个复选框后,会选中(取消)多个复选框-Android

  15. 15

    即使选中一个复选框,所有复选框也会被选中

  16. 16

    当其他特定的复选框被选中时,选中一个复选框无法正常工作

  17. 17

    在Delphi中一次只选中一个复选框

  18. 18

    在javascript中一次仅选中一个复选框

  19. 19

    取消选中其中一个复选框时,取消选中CheckboxAll

  20. 20

    选中一个复选框并检查是否已选中

  21. 21

    只允许选中一个复选框并获取已选中的值

  22. 22

    如果未选中一个孩子,则取消选中父复选框

  23. 23

    通过选中一个复选框来切换一组复选框

  24. 24

    jQuery单击一个复选框应选中一行中的所有复选框

  25. 25

    取消选中一个复选框后如何启用所有复选框?使用JavaScript

  26. 26

    如何通过选中/取消选中一个复选框来选中和取消选中html表中的所有复选框?

  27. 27

    如何使用jQuery一键选中一个复选框(3)

  28. 28

    如何一次只选中一个复选框?

  29. 29

    如何一次只允许选中一个复选框?

热门标签

归档