角度和复选框验证

时间:2018-02-06 13:52:21

标签: angular angular-validation

我的验证有问题。有人可以帮我验证这四个复选框吗?我需要自定义函数,当所有checkbox.checked都是false时返回错误。怎么解决?

form.component.html:

<div class="form-group" formControlName="levels">
    <label>LEVELS</label>
    <div *ngFor="let data of levels">
        <input 
          type="checkbox" 
          [checked]="data.checked" 
        > {{data.level}}
    </div>
</div>

form.component.ts:

constructor(private _formBuilder: FormBuilder) {

    this.levels = [ 
        { level: "Szkoła podstawowa", checked: false }, 
        { level: "Gimnazjum", checked: false }, 
        { level: "Liceum", checked: false }, 
        { level: "Studia", checked: false } 
    ];

    this.offerForm = this._formBuilder.group({ 
        levels: null
    });

}

1 个答案:

答案 0 :(得分:0)

首先,您应该从关卡数组中创建FormArray。在formBuilder中使用此FormArray并添加一个自定义验证器,用于检查至少有一个项是否为真(我认为这里没有默认验证器)。您可以在官方文档中找到有关如何使用FormArrays以及如何编写custom validators的信息。