在模板中为复选框添加一个ngModel绑定以确保复选框值的跟踪,同时,在其下面的输入元素上添加一个相同的ngModel绑定。这样,当复选框被选中时,其ngModel绑定的值将是true,否则将是false。然后,我们可以将其与在表单上添加的相同验证器一起使用。例如,如果我们想要验证是否至少选中了一个复选框,我们可以使用以下代码:
@Component({
selector: 'my-app',
template:
})
export class AppComponent {
myForm: FormGroup;
checkbox1: boolean;
checkbox2: boolean;
constructor(private fb: FormBuilder) { this.myForm = this.fb.group({ checkbox1: [false], checkbox2: [false] }, { validator: this.checkboxesValidator }); }
checkboxesValidator(group: FormGroup) { const checkbox1 = group.controls.checkbox1.value; const checkbox2 = group.controls.checkbox2.value; return checkbox1 || checkbox2 ? null : { required: true }; } }