Моя таблица sql имеет четыре столбца. Я пытаюсь проверить форму и добавить запись с помощью службы 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>
Это значение: дилер_ид: "" имя правила: "уууууууу" тип: "S"
Значение статуса Y или Не будет в console.info(this.addTermForm.value);
Вы добавляете formControlName
в formGroup
, но не присваиваете никакого значения в представлении.
Хотя у вас есть поле NgModel
, но вы не используете его при вызове API, и рекомендуется использовать два разных подхода к форме.
Поэтому попробуйте изменить поле checkBox, как показано ниже.
Ввиду:
<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');
}
Удачного кодирования .. :)
какую ценность вы получаете в этой строке
console.info(this.addTermForm.value);