【发布时间】:2019-11-01 12:32:02
【问题描述】:
我有一个包含选择选项的表单,而 div 部分取决于所选选项。在选择选项中,如果我选择 1 为例,将显示一个输入
组件.ts
types : any[] = [
{ value : '1'},
{ value : '2'},
{ value : '3'}
];
createForm = this.fb.group({
firstInput:['',Validators.required],
secondInput:['',Validators.required],
thirdInput:['',Validators.required],
});
component.html
<select class="form-control" [value]="selected"[(ngModel)]="selectedValue">
<option *ngFor="let x of types">{{x.value}}</option>
</select>
<div *ngIf="selectedValue == '1'">
<label for="1" class="control-label">1</label>
<input id="1" class="form-control" type="text" formControlName="firstInput">
</div>
<div *ngIf="selectedValue == '2'">
<label for="2" class="control-label">2</label>
<input id="2" class="form-control" type="text" formControlName="secondInput">
</div>
<div *ngIf="selectedValue == '3'">
<label for="3" class="control-label">3</label>
<input id="3" class="form-control" type="text" formControlName="thirdInput">
</div>
所有字段都是必需的,我的问题是:当我选择“1”作为示例而不填写“1”的输入然后我更改为第二个选择“2”并填写它,我无法提交表格因为 fielControllName “firstInput” 尽管不可见,但它是空的,所以我需要在每次更改时清除 ngModel 的选定值(我认为)。
【问题讨论】:
标签: angular-reactive-forms angular8 requiredfieldvalidator ngmodel