Javascript FormControl布尔值,在angular 2中没有默认值
我在angular 2中使用了反应形式(4.1.2) 我有一个布尔属性,我不想有一个默认值,但它应该是必需的 这是我创建表单的方式:Javascript FormControl布尔值,在angular 2中没有默认值,javascript,angular,angular-reactive-forms,angular-validation,Javascript,Angular,Angular Reactive Forms,Angular Validation,我在angular 2中使用了反应形式(4.1.2) 我有一个布尔属性,我不想有一个默认值,但它应该是必需的 这是我创建表单的方式: constructor(private fb: FormBuilder) { this.form = this.fb.group({ payedOvertime: [false, Validators.required], }); } 和我的html: <div class="form-group"> <
constructor(private fb: FormBuilder) {
this.form = this.fb.group({
payedOvertime: [false, Validators.required],
});
}
和我的html:
<div class="form-group">
<label>Payed overtime</label>
<label>
<input type="radio" name="payedOvertime" formControlName="payedOvertime" [value]="true" />Yes
</label>
<label>
<input type="radio" name="payedOvertime" formControlName="payedOvertime" [value]="false" />No
</label>
</div>
有偿加班
对
不
问题是,尽管这样做有效,但单选按钮是预选的,但我不希望这样,而是应该通过单击其中一个单选按钮来选择它。如果两个单选按钮均未单击,我希望表单无效。将
付款时间:[false,Validators.required]
更改为付款时间:[null,Validators.required]
假设您将其设置为
false
,它将匹配模板中No
单选按钮的值,并在默认情况下选择它(正确地选择)。将其设置为null
将阻止Angular将值与模板中声明的任何值相匹配,因此将选择这些单选按钮中的任何一个。仅更改验证器。必需的为验证器。必需的True
,
比如:
付款人时间:[false,Validators.requiredTrue]
如果它是一个真布尔值,为什么不使用一个简单的复选框呢?它必须是单选按钮吗?