尽管我在 html 文件中使用 ngModel 设置值,但验证状态发送空值时出错
Getting error while validation status is sending null value eventhough i set values using ngModel in html file
我的 sql table 有四列。
我正在尝试使用 api 服务验证表单并添加记录,代码如下。
我不想验证状态复选框。
如果选中并且我只想将复选框值发送为“Y”
如果未选中,则为“N”。
鉴于目前的代码,我的状态值变为空...我们是否需要将状态的 ngmodel 与验证绑定???
HTML 文件
<form [formGroup]="addTermForm" (ngSubmit)="onSubmit()">
<div>
<label style="padding-left: 15px;">Status:</label>
<span style="padding-left: 10px;"></span>
<input type="checkBox" ngModel
[ngModel]="addTermForm.get('Status').value=='Y'?true:false"
(ngModelChange)="addTermForm.get('Status').setValue($event?'Y':'N')"
[ngModelOptions]="{standalone:true}"
[ngClass]="{'is-invalid': submitted && addTermForm.get('Status').errors}">
<div *ngIf="submitted && addTermForm.controls.status.errors" class="text-danger">
<div *ngIf="addTermForm.controls.status.errors">
Status is required
</div>
</div>
</div>
<br>
<br>
</form>
您正在 formGroup
中添加 formControlName
但未在 View 中分配任何值。
虽然您有 NgModel
字段,但您在执行 API 调用时没有使用它,建议使用两种不同的表单方法。
所以尝试像下面这样更改复选框字段
在视图中:
<input type="checkbox" formControlName="Status"
(change)="statusValueChange($event)"
[ngClass]="{'is-invalid': submitted && addTermForm.get('Status').errors}">
在模板中:
private statusValueChange($event: any) {
this.addTermForm.controls['status'].setValue($event.target.checked ? 'Y' : 'N');
}
快乐编码..:)
我的 sql table 有四列。 我正在尝试使用 api 服务验证表单并添加记录,代码如下。 我不想验证状态复选框。 如果选中并且我只想将复选框值发送为“Y” 如果未选中,则为“N”。
鉴于目前的代码,我的状态值变为空...我们是否需要将状态的 ngmodel 与验证绑定???
HTML 文件
<form [formGroup]="addTermForm" (ngSubmit)="onSubmit()">
<div>
<label style="padding-left: 15px;">Status:</label>
<span style="padding-left: 10px;"></span>
<input type="checkBox" ngModel
[ngModel]="addTermForm.get('Status').value=='Y'?true:false"
(ngModelChange)="addTermForm.get('Status').setValue($event?'Y':'N')"
[ngModelOptions]="{standalone:true}"
[ngClass]="{'is-invalid': submitted && addTermForm.get('Status').errors}">
<div *ngIf="submitted && addTermForm.controls.status.errors" class="text-danger">
<div *ngIf="addTermForm.controls.status.errors">
Status is required
</div>
</div>
</div>
<br>
<br>
</form>
您正在 formGroup
中添加 formControlName
但未在 View 中分配任何值。
虽然您有 NgModel
字段,但您在执行 API 调用时没有使用它,建议使用两种不同的表单方法。
所以尝试像下面这样更改复选框字段
在视图中:
<input type="checkbox" formControlName="Status"
(change)="statusValueChange($event)"
[ngClass]="{'is-invalid': submitted && addTermForm.get('Status').errors}">
在模板中:
private statusValueChange($event: any) {
this.addTermForm.controls['status'].setValue($event.target.checked ? 'Y' : 'N');
}
快乐编码..:)