角度材料单选按钮默认选中不验证表单
Posted
技术标签:
【中文标题】角度材料单选按钮默认选中不验证表单【英文标题】:angular material radio buttons default selected not validating the form 【发布时间】:2020-11-01 09:57:43 【问题描述】:我的项目在 Angular 9 中,我使用的是响应式表单,我的表单中有 Angular Material Radio 按钮组(mat-radio-button),我检查了默认值,并且我的表单中不需要 Radio 控件,因为我选择了默认值。现在我的表单验证了我必须选择一个选项的单选按钮,如果我不选择单选选项,知道为什么我的表单无效,我的保存按钮保持禁用状态。
组件.ts
this.myform= this._formBuilder.group(
TaskName: ['', Validators.required],
Schedule: ['', null],
);
component.html:
<mat-radio-group aria-labelledby="theschedule" formControlName="Schedule" >
<mat-radio-button (change)="radioChange($event);" id="item.Name" *ngFor="let item of sType" [value]="item.ID" [checked]="item.ID === 1" >
item.Name
</mat-radio-button>
</mat-radio-group>
<button mat-raised-button color="primary" type="submit" [disabled]="!myform.form.valid" >Save</button>
【问题讨论】:
【参考方案1】:我认为应该是[disabled]="!myForm.valid"
而不是[disabled]="!myform.form.valid"
【讨论】:
我的表单验证有效,问题是当我检查其中一个单选按钮的默认值时,如果我选择空单选,表单不会删除禁用的属性,然后它会生成表单有效的。当我输入选中的默认值时,它应该具有有效的表单以上是关于角度材料单选按钮默认选中不验证表单的主要内容,如果未能解决你的问题,请参考以下文章
默认选中的单选输入在 Laravel 中使用 Bootstrap 语法不起作用