Here's the modified template with ELECTRIC DEFROST, FANS, LIGHTS, STUB SIZE, and CIRCUIT SERVICE/CONTROL VALVES sections arranged in two columns to save vertical space:
Here's the corrected version with the fixed input tag:
The issue was in the MODEL field's input tag where the type attribute wasn't properly closed. I fixed it by changing:
<input type="text class="form-control" id="case_model" formControlName="model"
to:
<input type="text" class="form-control" id="case_model" formControlName="model"
The rest of the form content remains exactly the same as in the previous version, with all the two-column layout improvements. The only change was fixing that one malformed input tag.
Here's the complete corrected HTML code with all sections properly formatted in two columns:
<div class="modal-header">
<h3 class="modal-title">Add Case</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" (click)="hideModal()">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="card modal-card">
<div class="card-body">
<form class="case-form" [formGroup]="caseManualForm" (ngSubmit)="submitted=true;onSaveManualCase()">
<div class="form-row">
<div class="form-group">
<label for="case_id" class="required-field">ID</label>
<input type="text" class="form-control" id="case_id" formControlName="id"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['id'].touched || submitted) && caseManualForm.controls['id'].errors)}">
<div *ngIf="caseManualForm.controls['id'].invalid && (caseManualForm.controls['id'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['id'].errors?.required">
Id is required</div>
<div *ngIf="caseManualForm.controls['id'].errors?.maxlength">
Max 10 characters are allowed</div>
</div>
</div>
<div class="form-group">
<label for="case_model" class="required-field">MODEL</label>
<input type="text" class="form-control" id="case_model" formControlName="model"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['model'].touched || submitted) && caseManualForm.controls['model'].errors)}">
<div
*ngIf="caseManualForm.controls['model'].invalid && (caseManualForm.controls['model'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['model'].errors?.required">
Model is required</div>
<div *ngIf="caseManualForm.controls['id'].errors?.maxlength">
Max 50 characters are allowed</div>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="manufacturer" class="required-field">Manufacturer</label>
<input type="text" class="form-control" id="manufacturer" formControlName="manufacturer"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['manufacturer'].touched || submitted) && caseManualForm.controls['manufacturer'].errors)}">
<div
*ngIf="caseManualForm.controls['manufacturer'].invalid && (caseManualForm.controls['manufacturer'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['manufacturer'].errors?.required">
Manufacturer is required</div>
<div
*ngIf="caseManualForm.controls['manufacturer'].errors?.maxlength">
Manufacturer can be max 20 characters</div>
</div>
</div>
<div class="form-group">
<label for="defrost_type" class="required-field">DEFROST TYPE</label>
<select id="model" class="form-control" formControlName="defrostType" (change)="changeDefrostType($event)"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['defrostType'].touched || submitted) && caseManualForm.controls['defrostType'].errors)}">
<option value="">Select Defrost Type</option>
<option *ngFor="let defrost of defrostTypes" [value]="defrost">{{defrost}}</option>
</select>
<div *ngIf="defrostType.invalid && (defrostType.touched || submitted)">
<div class="error-div" *ngIf="defrostType.errors?.required">
Defrost Type is required</div>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="case_btu" class="required-field">BTU</label>
<input type="number" class="form-control" id="case_btu" formControlName="btu"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['btu'].touched || submitted) && caseManualForm.controls['btu'].errors)}">
<div *ngIf="caseManualForm.controls['btu'].invalid && (caseManualForm.controls['btu'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['btu'].errors?.required">
Btu is required</div>
<div *ngIf="caseManualForm.controls['btu'].errors?.min">
Minimum value should be 0</div>
</div>
</div>
<div class="form-group">
<label for="evap_temp" class="required-field">EVAP TEMP ({{ unitType === 'mperial' ? '°F' : '°C'}})</label>
<input type="number" class="form-control" id="evap_temp" formControlName="evapTemp"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['evapTemp'].touched || submitted) && caseManualForm.controls['evapTemp'].errors)}">
<div
*ngIf="caseManualForm.controls['evapTemp'].invalid && (caseManualForm.controls['evapTemp'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['evapTemp'].errors?.required">
Evap Temp is required</div>
<div
*ngIf="caseManualForm.controls['evapTemp'].errors?.min || caseManualForm.controls['evapTemp'].errors?.max">
Range should be from -99 to 99</div>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="case_desc" class="required-field">DESCRIPTION</label>
<textarea class="form-control" id="case_desc" formControlName="description"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['description'].touched || submitted) && caseManualForm.controls['description'].errors)}"></textarea>
<div
*ngIf="caseManualForm.controls['description'].invalid && (caseManualForm.controls['description'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['description'].errors?.required">
Description is required</div>
<div *ngIf="caseManualForm.controls['id'].errors?.maxlength">
Max 50 characters are allowed</div>
</div>
</div>
<div class="form-group">
<label for="case_quantity" class="required-field">QUANTITY</label>
<input type="number" class="form-control" id="case_quantity" formControlName="quantity"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['quantity'].touched || submitted) && caseManualForm.controls['quantity'].errors)}">
<div *ngIf="caseManualForm.controls['quantity'].invalid && (caseManualForm.controls['quantity'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['quantity'].errors?.required">
Quantity is required</div>
<div *ngIf="caseManualForm.controls['quantity'].errors?.maxlength">
Max 3 characters are allowed</div>
<div *ngIf="caseManualForm.controls['quantity'].errors?.pattern">
Quantity should be a number and greater than 0</div>
</div>
</div>
</div>
<div class="two-column-section">
<div class="column">
<div class="section">
<h3 class="section-title">ELECTRIC DEFROST</h3>
<div class="form-row">
<div class="form-group">
<label for="defrost_amps">Amps</label>
<input type="number" class="form-control" id="defrost_amps" formControlName="electricDefrostAmps"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['electricDefrostAmps'].touched || submitted) && caseManualForm.controls['electricDefrostAmps'].errors)}">
<div *ngIf="caseManualForm.controls['electricDefrostAmps'].invalid && (caseManualForm.controls['electricDefrostAmps'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['electricDefrostAmps'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['electricDefrostAmps'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="electric_defrost_volts">Volts</label>
<input type="number" class="form-control" id="electric_defrost_volts" formControlName="electricDefrostVolts"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['electricDefrostVolts'].touched || submitted) && caseManualForm.controls['electricDefrostVolts'].errors)}">
<div
*ngIf="caseManualForm.controls['electricDefrostVolts'].invalid && (caseManualForm.controls['electricDefrostVolts'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['electricDefrostVolts'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['electricDefrostVolts'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="electric_defrost_kw">KW</label>
<input type="number" class="form-control" id="electric_defrost_kw" formControlName="electricDefrostKW"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['electricDefrostKW'].touched || submitted) && caseManualForm.controls['electricDefrostKW'].errors)}">
<div
*ngIf="caseManualForm.controls['electricDefrostKW'].invalid && (caseManualForm.controls['electricDefrostKW'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['electricDefrostKW'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['electricDefrostKW'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
</div>
</div>
<div class="section">
<h3 class="section-title">FANS</h3>
<div class="form-row">
<div class="form-group">
<label for="fans_amps">Amps</label>
<input type="number" class="form-control" id="fans_amps" formControlName="fansAmps" [ngClass]="{ 'is-invalid': ((caseManualForm.controls['fansAmps'].touched || submitted)
&& caseManualForm.controls['fansAmps'].errors)}">
<div
*ngIf="caseManualForm.controls['fansAmps'].invalid && (caseManualForm.controls['fansAmps'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['fansAmps'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['fansAmps'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="fan_volts">Volts</label>
<input type="number" class="form-control" id="fan_volts" formControlName="fansVolts" [ngClass]="{ 'is-invalid': ((caseManualForm.controls['fansVolts'].touched || submitted)
&& caseManualForm.controls['fansVolts'].errors)}">
<div
*ngIf="caseManualForm.controls['fansVolts'].invalid && (caseManualForm.controls['fansVolts'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['fansVolts'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['fansVolts'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="fans_kw">KW</label>
<input type="number" class="form-control" id="fans_kw" formControlName="fansKW"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['fansKW'].touched || submitted) && caseManualForm.controls['fansKW'].errors)}">
<div
*ngIf="caseManualForm.controls['fansKW'].invalid && (caseManualForm.controls['fansKW'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['fansKW'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['fansKW'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
</div>
</div>
<div class="section">
<h3 class="section-title">LIGHTS</h3>
<div class="form-row">
<div class="form-group">
<label for="lights_amps">Amps</label>
<input type="number" class="form-control" id="lights_amps" formControlName="lightsAmps"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['lightsAmps'].touched || submitted) && caseManualForm.controls['lightsAmps'].errors)}">
<div
*ngIf="caseManualForm.controls['lightsAmps'].invalid && (caseManualForm.controls['lightsAmps'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['lightsAmps'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['lightsAmps'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="lights_volts">Volts</label>
<input type="number" class="form-control" id="lights_volts" formControlName="lightsVolts"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['lightsVolts'].touched || submitted) && caseManualForm.controls['lightsVolts'].errors)}">
<div
*ngIf="caseManualForm.controls['lightsVolts'].invalid && (caseManualForm.controls['lightsVolts'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['lightsVolts'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['lightsVolts'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="lights_kw">KW</label>
<input type="number" class="form-control" id="lights_kw" formControlName="lightsKW"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['lightsKW'].touched || submitted) && caseManualForm.controls['lightsKW'].errors)}">
<div
*ngIf="caseManualForm.controls['lightsKW'].invalid && (caseManualForm.controls['lightsKW'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['lightsKW'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['lightsKW'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
</div>
</div>
</div>
<div class="column">
<div class="section">
<h3 class="section-title">STUB SIZE</h3>
<div class="form-row">
<div class="form-group">
<label for="stub_size_liquid">LIQUID</label>
<input type="number" class="form-control" id="stub_size_liquid" formControlName="stubSizeLiquid"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['stubSizeLiquid'].touched || submitted) && caseManualForm.controls['stubSizeLiquid'].errors)}">
<div
*ngIf="caseManualForm.controls['stubSizeLiquid'].invalid && (caseManualForm.controls['stubSizeLiquid'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['stubSizeLiquid'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['stubSizeLiquid'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="stub_size_suction">SUCTION</label>
<input type="number" class="form-control" id="stub_size_suction" formControlName="stubSizeSuction"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['stubSizeSuction'].touched || submitted) && caseManualForm.controls['stubSizeSuction'].errors)}">
<div
*ngIf="caseManualForm.controls['stubSizeSuction'].invalid && (caseManualForm.controls['stubSizeSuction'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['stubSizeSuction'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['stubSizeSuction'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="stub_size_hot_gas">HOT GAS</label>
<input type="number" class="form-control" id="stub_size_hot_gas" formControlName="stubSizeHotGass"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['stubSizeHotGass'].touched || submitted) && caseManualForm.controls['stubSizeHotGass'].errors)}">
<div
*ngIf="caseManualForm.controls['stubSizeHotGass'].invalid && (caseManualForm.controls['stubSizeHotGass'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['stubSizeHotGass'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['stubSizeHotGass'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
</div>
</div>
<div class="section">
<h3 class="section-title">CIRCUIT SERVICE/CONTROL VALVES</h3>
<div class="form-row">
<div class="form-group">
<label for="cs_control_valves_liquid">LIQUID</label>
<input type="number" class="form-control" id="cs_control_valves_liquid"
formControlName="cktServiceControlValveLiquid" [ngClass]="{ 'is-invalid': ((caseManualForm.controls['cktServiceControlValveLiquid'].touched || submitted)
&& caseManualForm.controls['cktServiceControlValveLiquid'].errors)}">
<div
*ngIf="caseManualForm.controls['cktServiceControlValveLiquid'].invalid && (caseManualForm.controls['cktServiceControlValveLiquid'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['cktServiceControlValveLiquid'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['cktServiceControlValveLiquid'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="cs_control_valves_suction">SUCTION</label>
<input type="number" class="form-control" id="cs_control_valves_suction"
formControlName="cktServiceControlValveSuction" [ngClass]="{ 'is-invalid': ((caseManualForm.controls['cktServiceControlValveSuction'].touched || submitted)
&& caseManualForm.controls['cktServiceControlValveSuction'].errors)}">
<div
*ngIf="caseManualForm.controls['cktServiceControlValveSuction'].invalid && (caseManualForm.controls['cktServiceControlValveSuction'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['cktServiceControlValveSuction'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['cktServiceControlValveSuction'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="cs_control_valves_hot_gas">HOT GAS</label>
<input type="number" class="form-control" id="cs_control_valves_hot_gas"
formControlName="cktServiceControlValveHotGass" [ngClass]="{ 'is-invalid': ((caseManualForm.controls['cktServiceControlValveHotGass'].touched || submitted)
&& caseManualForm.controls['cktServiceControlValveHotGass'].errors)}">
<div
*ngIf="caseManualForm.controls['cktServiceControlValveHotGass'].invalid && (caseManualForm.controls['cktServiceControlValveHotGass'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['cktServiceControlValveHotGass'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['cktServiceControlValveHotGass'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">Save</button>
</div>
</form>
</div>
</div>
</div>
```_
<div class="modal-header">
<h3 class="modal-title">Add Case</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" (click)="hideModal()">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="card modal-card">
<div class="card-body">
<form class="case-form" [formGroup]="caseManualForm" (ngSubmit)="submitted=true;onSaveManualCase()">
<div class="form-row">
<div class="form-group">
<label for="case_id" class="required-field">ID</label>
<input type="text" class="form-control" id="case_id" formControlName="id"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['id'].touched || submitted) && caseManualForm.controls['id'].errors)}">
<div *ngIf="caseManualForm.controls['id'].invalid && (caseManualForm.controls['id'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['id'].errors?.required">
Id is required</div>
<div *ngIf="caseManualForm.controls['id'].errors?.maxlength">
Max 10 characters are allowed</div>
</div>
</div>
<div class="form-group">
<label for="case_model" class="required-field">MODEL</label>
<input type="text" class="form-control" id="case_model" formControlName="model"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['model'].touched || submitted) && caseManualForm.controls['model'].errors)}">
<div
*ngIf="caseManualForm.controls['model'].invalid && (caseManualForm.controls['model'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['model'].errors?.required">
Model is required</div>
<div *ngIf="caseManualForm.controls['id'].errors?.maxlength">
Max 50 characters are allowed</div>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="manufacturer" class="required-field">Manufacturer</label>
<input type="text" class="form-control" id="manufacturer" formControlName="manufacturer"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['manufacturer'].touched || submitted) && caseManualForm.controls['manufacturer'].errors)}">
<div
*ngIf="caseManualForm.controls['manufacturer'].invalid && (caseManualForm.controls['manufacturer'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['manufacturer'].errors?.required">
Manufacturer is required</div>
<div
*ngIf="caseManualForm.controls['manufacturer'].errors?.maxlength">
Manufacturer can be max 20 characters</div>
</div>
</div>
<div class="form-group">
<label for="defrost_type" class="required-field">DEFROST TYPE</label>
<select id="model" class="form-control" formControlName="defrostType" (change)="changeDefrostType($event)"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['defrostType'].touched || submitted) && caseManualForm.controls['defrostType'].errors)}">
<option value="">Select Defrost Type</option>
<option *ngFor="let defrost of defrostTypes" [value]="defrost">{{defrost}}</option>
</select>
<div *ngIf="defrostType.invalid && (defrostType.touched || submitted)">
<div class="error-div" *ngIf="defrostType.errors?.required">
Defrost Type is required</div>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="case_btu" class="required-field">BTU</label>
<input type="number" class="form-control" id="case_btu" formControlName="btu"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['btu'].touched || submitted) && caseManualForm.controls['btu'].errors)}">
<div *ngIf="caseManualForm.controls['btu'].invalid && (caseManualForm.controls['btu'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['btu'].errors?.required">
Btu is required</div>
<div *ngIf="caseManualForm.controls['btu'].errors?.min">
Minimum value should be 0</div>
</div>
</div>
<div class="form-group">
<label for="evap_temp" class="required-field">EVAP TEMP ({{ unitType === 'mperial' ? '°F' : '°C'}})</label>
<input type="number" class="form-control" id="evap_temp" formControlName="evapTemp"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['evapTemp'].touched || submitted) && caseManualForm.controls['evapTemp'].errors)}">
<div
*ngIf="caseManualForm.controls['evapTemp'].invalid && (caseManualForm.controls['evapTemp'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['evapTemp'].errors?.required">
Evap Temp is required</div>
<div
*ngIf="caseManualForm.controls['evapTemp'].errors?.min || caseManualForm.controls['evapTemp'].errors?.max">
Range should be from -99 to 99</div>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="case_desc" class="required-field">DESCRIPTION</label>
<textarea class="form-control" id="case_desc" formControlName="description"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['description'].touched || submitted) && caseManualForm.controls['description'].errors)}"></textarea>
<div
*ngIf="caseManualForm.controls['description'].invalid && (caseManualForm.controls['description'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['description'].errors?.required">
Description is required</div>
<div *ngIf="caseManualForm.controls['id'].errors?.maxlength">
Max 50 characters are allowed</div>
</div>
</div>
<div class="form-group">
<label for="case_quantity" class="required-field">QUANTITY</label>
<input type="number" class="form-control" id="case_quantity" formControlName="quantity"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['quantity'].touched || submitted) && caseManualForm.controls['quantity'].errors)}">
<div *ngIf="caseManualForm.controls['quantity'].invalid && (caseManualForm.controls['quantity'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['quantity'].errors?.required">
Quantity is required</div>
<div *ngIf="caseManualForm.controls['quantity'].errors?.maxlength">
Max 3 characters are allowed</div>
<div *ngIf="caseManualForm.controls['quantity'].errors?.pattern">
Quantity should be a number and greater than 0</div>
</div>
</div>
</div>
<div class="two-column-section">
<div class="column">
<div class="section">
<h3 class="section-title">ELECTRIC DEFROST</h3>
<div class="form-row">
<div class="form-group">
<label for="defrost_amps">Amps</label>
<input type="number" class="form-control" id="defrost_amps" formControlName="electricDefrostAmps"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['electricDefrostAmps'].touched || submitted) && caseManualForm.controls['electricDefrostAmps'].errors)}">
<div *ngIf="caseManualForm.controls['electricDefrostAmps'].invalid && (caseManualForm.controls['electricDefrostAmps'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['electricDefrostAmps'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['electricDefrostAmps'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="electric_defrost_volts">Volts</label>
<input type="number" class="form-control" id="electric_defrost_volts" formControlName="electricDefrostVolts"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['electricDefrostVolts'].touched || submitted) && caseManualForm.controls['electricDefrostVolts'].errors)}">
<div
*ngIf="caseManualForm.controls['electricDefrostVolts'].invalid && (caseManualForm.controls['electricDefrostVolts'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['electricDefrostVolts'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['electricDefrostVolts'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="electric_defrost_kw">KW</label>
<input type="number" class="form-control" id="electric_defrost_kw" formControlName="electricDefrostKW"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['electricDefrostKW'].touched || submitted) && caseManualForm.controls['electricDefrostKW'].errors)}">
<div
*ngIf="caseManualForm.controls['electricDefrostKW'].invalid && (caseManualForm.controls['electricDefrostKW'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['electricDefrostKW'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['electricDefrostKW'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
</div>
</div>
<div class="section">
<h3 class="section-title">FANS</h3>
<div class="form-row">
<div class="form-group">
<label for="fans_amps">Amps</label>
<input type="number" class="form-control" id="fans_amps" formControlName="fansAmps" [ngClass]="{ 'is-invalid': ((caseManualForm.controls['fansAmps'].touched || submitted)
&& caseManualForm.controls['fansAmps'].errors)}">
<div
*ngIf="caseManualForm.controls['fansAmps'].invalid && (caseManualForm.controls['fansAmps'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['fansAmps'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['fansAmps'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="fan_volts">Volts</label>
<input type="number" class="form-control" id="fan_volts" formControlName="fansVolts" [ngClass]="{ 'is-invalid': ((caseManualForm.controls['fansVolts'].touched || submitted)
&& caseManualForm.controls['fansVolts'].errors)}">
<div
*ngIf="caseManualForm.controls['fansVolts'].invalid && (caseManualForm.controls['fansVolts'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['fansVolts'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['fansVolts'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="fans_kw">KW</label>
<input type="number" class="form-control" id="fans_kw" formControlName="fansKW"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['fansKW'].touched || submitted) && caseManualForm.controls['fansKW'].errors)}">
<div
*ngIf="caseManualForm.controls['fansKW'].invalid && (caseManualForm.controls['fansKW'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['fansKW'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['fansKW'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
</div>
</div>
<div class="section">
<h3 class="section-title">LIGHTS</h3>
<div class="form-row">
<div class="form-group">
<label for="lights_amps">Amps</label>
<input type="number" class="form-control" id="lights_amps" formControlName="lightsAmps"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['lightsAmps'].touched || submitted) && caseManualForm.controls['lightsAmps'].errors)}">
<div
*ngIf="caseManualForm.controls['lightsAmps'].invalid && (caseManualForm.controls['lightsAmps'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['lightsAmps'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['lightsAmps'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="lights_volts">Volts</label>
<input type="number" class="form-control" id="lights_volts" formControlName="lightsVolts"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['lightsVolts'].touched || submitted) && caseManualForm.controls['lightsVolts'].errors)}">
<div
*ngIf="caseManualForm.controls['lightsVolts'].invalid && (caseManualForm.controls['lightsVolts'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['lightsVolts'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['lightsVolts'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="lights_kw">KW</label>
<input type="number" class="form-control" id="lights_kw" formControlName="lightsKW"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['lightsKW'].touched || submitted) && caseManualForm.controls['lightsKW'].errors)}">
<div
*ngIf="caseManualForm.controls['lightsKW'].invalid && (caseManualForm.controls['lightsKW'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['lightsKW'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['lightsKW'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
</div>
</div>
</div>
<div class="column">
<div class="section">
<h3 class="section-title">STUB SIZE</h3>
<div class="form-row">
<div class="form-group">
<label for="stub_size_liquid">LIQUID</label>
<input type="number" class="form-control" id="stub_size_liquid" formControlName="stubSizeLiquid"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['stubSizeLiquid'].touched || submitted) && caseManualForm.controls['stubSizeLiquid'].errors)}">
<div
*ngIf="caseManualForm.controls['stubSizeLiquid'].invalid && (caseManualForm.controls['stubSizeLiquid'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['stubSizeLiquid'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['stubSizeLiquid'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="stub_size_suction">SUCTION</label>
<input type="number" class="form-control" id="stub_size_suction" formControlName="stubSizeSuction"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['stubSizeSuction'].touched || submitted) && caseManualForm.controls['stubSizeSuction'].errors)}">
<div
*ngIf="caseManualForm.controls['stubSizeSuction'].invalid && (caseManualForm.controls['stubSizeSuction'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['stubSizeSuction'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['stubSizeSuction'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="stub_size_hot_gas">HOT GAS</label>
<input type="number" class="form-control" id="stub_size_hot_gas" formControlName="stubSizeHotGass"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['stubSizeHotGass'].touched || submitted) && caseManualForm.controls['stubSizeHotGass'].errors)}">
<div
*ngIf="caseManualForm.controls['stubSizeHotGass'].invalid && (caseManualForm.controls['stubSizeHotGass'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['stubSizeHotGass'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['stubSizeHotGass'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
</div>
</div>
<div class="section">
<h3 class="section-title">CIRCUIT SERVICE/CONTROL VALVES</h3>
<div class="form-row">
<div class="form-group">
<label for="cs_control_valves_liquid">LIQUID</label>
<input type="number" class="form-control" id="cs_control_valves_liquid"
formControlName="cktServiceControlValveLiquid" [ngClass]="{ 'is-invalid': ((caseManualForm.controls['cktServiceControlValveLiquid'].touched || submitted)
&& caseManualForm.controls['cktServiceControlValveLiquid'].errors)}">
<div
*ngIf="caseManualForm.controls['cktServiceControlValveLiquid'].invalid && (caseManualForm.controls['cktServiceControlValveLiquid'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['cktServiceControlValveLiquid'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['cktServiceControlValveLiquid'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="cs_control_valves_suction">SUCTION</label>
<input type="number" class="form-control" id="cs_control_valves_suction"
formControlName="cktServiceControlValveSuction" [ngClass]="{ 'is-invalid': ((caseManualForm.controls['cktServiceControlValveSuction'].touched || submitted)
&& caseManualForm.controls['cktServiceControlValveSuction'].errors)}">
<div
*ngIf="caseManualForm.controls['cktServiceControlValveSuction'].invalid && (caseManualForm.controls['cktServiceControlValveSuction'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['cktServiceControlValveSuction'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['cktServiceControlValveSuction'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
<div class="form-group">
<label for="cs_control_valves_hot_gas">HOT GAS</label>
<input type="number" class="form-control" id="cs_control_valves_hot_gas"
formControlName="cktServiceControlValveHotGass" [ngClass]="{ 'is-invalid': ((caseManualForm.controls['cktServiceControlValveHotGass'].touched || submitted)
&& caseManualForm.controls['cktServiceControlValveHotGass'].errors)}">
<div
*ngIf="caseManualForm.controls['cktServiceControlValveHotGass'].invalid && (caseManualForm.controls['cktServiceControlValveHotGass'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['cktServiceControlValveHotGass'].errors?.max">
Max value is 999</div>
<div *ngIf="caseManualForm.controls['cktServiceControlValveHotGass'].errors?.pattern">
Number upto 3 decimal places is allowed</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">Save</button>
</div>
</form>
</div>
</div>
</div>
```_
Here's the modified form with two controls in each row for the specified fields:
<div class="modal-body">
<div class="card modal-card">
<div class="card-body">
<form class="case-form" [formGroup]="caseManualForm" (ngSubmit)="submitted=true;onSaveManualCase()">
<!-- ID and MODEL in one row -->
<div class="form-row">
<div class="form-group col-md-6">
<label for="case_id" class="required-field">ID</label>
<input type="text" class="form-control" id="case_id" formControlName="id"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['id'].touched || submitted) && caseManualForm.controls['id'].errors)}">
<div *ngIf="caseManualForm.controls['id'].invalid && (caseManualForm.controls['id'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['id'].errors?.required">Id is required</div>
<div *ngIf="caseManualForm.controls['id'].errors?.maxlength">Max 10 characters are allowed</div>
</div>
</div>
<div class="form-group col-md-6">
<label for="case_model" class="required-field">MODEL</label>
<input type="text" class="form-control" id="case_model" formControlName="model"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['model'].touched || submitted) && caseManualForm.controls['model'].errors)}">
<div *ngIf="caseManualForm.controls['model'].invalid && (caseManualForm.controls['model'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['model'].errors?.required">Model is required</div>
<div *ngIf="caseManualForm.controls['model'].errors?.maxlength">Max 50 characters are allowed</div>
</div>
</div>
</div>
<!-- Manufacturer and DEFROST TYPE in one row -->
<div class="form-row">
<div class="form-group col-md-6">
<label for="manufacturer" class="required-field">Manufacturer</label>
<input type="text" class="form-control" id="manufacturer" formControlName="manufacturer"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['manufacturer'].touched || submitted) && caseManualForm.controls['manufacturer'].errors)}">
<div *ngIf="caseManualForm.controls['manufacturer'].invalid && (caseManualForm.controls['manufacturer'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['manufacturer'].errors?.required">Manufacturer is required</div>
<div *ngIf="caseManualForm.controls['manufacturer'].errors?.maxlength">Max 20 characters are allowed</div>
</div>
</div>
<div class="form-group col-md-6">
<label for="defrost_type" class="required-field">DEFROST TYPE</label>
<select id="defrost_type" class="form-control" formControlName="defrostType"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['defrostType'].touched || submitted) && caseManualForm.controls['defrostType'].errors)}">
<option value="">Select Defrost Type</option>
<option *ngFor="let defrost of defrostTypes" [value]="defrost">{{defrost}}</option>
</select>
<div *ngIf="caseManualForm.controls['defrostType'].invalid && (caseManualForm.controls['defrostType'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['defrostType'].errors?.required">Defrost Type is required</div>
</div>
</div>
</div>
<!-- BTU and EVAP TEMP in one row -->
<div class="form-row">
<div class="form-group col-md-6">
<label for="case_btu" class="required-field">BTU</label>
<input type="number" class="form-control" id="case_btu" formControlName="btu"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['btu'].touched || submitted) && caseManualForm.controls['btu'].errors)}">
<div *ngIf="caseManualForm.controls['btu'].invalid && (caseManualForm.controls['btu'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['btu'].errors?.required">Btu is required</div>
<div *ngIf="caseManualForm.controls['btu'].errors?.min">Minimum value should be 0</div>
</div>
</div>
<div class="form-group col-md-6">
<label for="evap_temp" class="required-field">EVAP TEMP ({{ unitType === 'imperial' ? '°F' : '°C'}})</label>
<input type="number" class="form-control" id="evap_temp" formControlName="evapTemp"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['evapTemp'].touched || submitted) && caseManualForm.controls['evapTemp'].errors)}">
<div *ngIf="caseManualForm.controls['evapTemp'].invalid && (caseManualForm.controls['evapTemp'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['evapTemp'].errors?.required">Evap Temp is required</div>
<div *ngIf="caseManualForm.controls['evapTemp'].errors?.min || caseManualForm.controls['evapTemp'].errors?.max">
Range should be from -99 to 99</div>
</div>
</div>
</div>
<!-- DESCRIPTION and QUANTITY in one row -->
<div class="form-row">
<div class="form-group col-md-6">
<label for="case_desc" class="required-field">DESCRIPTION</label>
<textarea class="form-control" id="case_desc" formControlName="description"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['description'].touched || submitted) && caseManualForm.controls['description'].errors)}"></textarea>
<div *ngIf="caseManualForm.controls['description'].invalid && (caseManualForm.controls['description'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['description'].errors?.required">Description is required</div>
<div *ngIf="caseManualForm.controls['description'].errors?.maxlength">Max 50 characters are allowed</div>
</div>
</div>
<div class="form-group col-md-6">
<label for="case_quantity" class="required-field">QUANTITY</label>
<input type="number" class="form-control" id="case_quantity" formControlName="quantity"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['quantity'].touched || submitted) && caseManualForm.controls['quantity'].errors)}">
<div *ngIf="caseManualForm.controls['quantity'].invalid && (caseManualForm.controls['quantity'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['quantity'].errors?.required">Quantity is required</div>
<div *ngIf="caseManualForm.controls['quantity'].errors?.maxlength">Max 3 characters are allowed</div>
<div *ngIf="caseManualForm.controls['quantity'].errors?.pattern">Quantity should be a number and greater than 0</div>
</div>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">Save</button>
</div>
</form>
</div>
</div>
</div>
<div class="modal-body">
<div class="card modal-card">
<div class="card-body">
<form class="case-form" [formGroup]="caseManualForm" (ngSubmit)="submitted=true;onSaveManualCase()">
<!-- ID and MODEL in one row -->
<div class="form-row">
<div class="form-group col-md-6">
<label for="case_id" class="required-field">ID</label>
<input type="text" class="form-control" id="case_id" formControlName="id"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['id'].touched || submitted) && caseManualForm.controls['id'].errors)}">
<div *ngIf="caseManualForm.controls['id'].invalid && (caseManualForm.controls['id'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['id'].errors?.required">Id is required</div>
<div *ngIf="caseManualForm.controls['id'].errors?.maxlength">Max 10 characters are allowed</div>
</div>
</div>
<div class="form-group col-md-6">
<label for="case_model" class="required-field">MODEL</label>
<input type="text" class="form-control" id="case_model" formControlName="model"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['model'].touched || submitted) && caseManualForm.controls['model'].errors)}">
<div *ngIf="caseManualForm.controls['model'].invalid && (caseManualForm.controls['model'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['model'].errors?.required">Model is required</div>
<div *ngIf="caseManualForm.controls['model'].errors?.maxlength">Max 50 characters are allowed</div>
</div>
</div>
</div>
<!-- Manufacturer and DEFROST TYPE in one row -->
<div class="form-row">
<div class="form-group col-md-6">
<label for="manufacturer" class="required-field">Manufacturer</label>
<input type="text" class="form-control" id="manufacturer" formControlName="manufacturer"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['manufacturer'].touched || submitted) && caseManualForm.controls['manufacturer'].errors)}">
<div *ngIf="caseManualForm.controls['manufacturer'].invalid && (caseManualForm.controls['manufacturer'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['manufacturer'].errors?.required">Manufacturer is required</div>
<div *ngIf="caseManualForm.controls['manufacturer'].errors?.maxlength">Max 20 characters are allowed</div>
</div>
</div>
<div class="form-group col-md-6">
<label for="defrost_type" class="required-field">DEFROST TYPE</label>
<select id="defrost_type" class="form-control" formControlName="defrostType"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['defrostType'].touched || submitted) && caseManualForm.controls['defrostType'].errors)}">
<option value="">Select Defrost Type</option>
<option *ngFor="let defrost of defrostTypes" [value]="defrost">{{defrost}}</option>
</select>
<div *ngIf="caseManualForm.controls['defrostType'].invalid && (caseManualForm.controls['defrostType'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['defrostType'].errors?.required">Defrost Type is required</div>
</div>
</div>
</div>
<!-- BTU and EVAP TEMP in one row -->
<div class="form-row">
<div class="form-group col-md-6">
<label for="case_btu" class="required-field">BTU</label>
<input type="number" class="form-control" id="case_btu" formControlName="btu"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['btu'].touched || submitted) && caseManualForm.controls['btu'].errors)}">
<div *ngIf="caseManualForm.controls['btu'].invalid && (caseManualForm.controls['btu'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['btu'].errors?.required">Btu is required</div>
<div *ngIf="caseManualForm.controls['btu'].errors?.min">Minimum value should be 0</div>
</div>
</div>
<div class="form-group col-md-6">
<label for="evap_temp" class="required-field">EVAP TEMP ({{ unitType === 'imperial' ? '°F' : '°C'}})</label>
<input type="number" class="form-control" id="evap_temp" formControlName="evapTemp"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['evapTemp'].touched || submitted) && caseManualForm.controls['evapTemp'].errors)}">
<div *ngIf="caseManualForm.controls['evapTemp'].invalid && (caseManualForm.controls['evapTemp'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['evapTemp'].errors?.required">Evap Temp is required</div>
<div *ngIf="caseManualForm.controls['evapTemp'].errors?.min || caseManualForm.controls['evapTemp'].errors?.max">
Range should be from -99 to 99</div>
</div>
</div>
</div>
<!-- DESCRIPTION and QUANTITY in one row -->
<div class="form-row">
<div class="form-group col-md-6">
<label for="case_desc" class="required-field">DESCRIPTION</label>
<textarea class="form-control" id="case_desc" formControlName="description"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['description'].touched || submitted) && caseManualForm.controls['description'].errors)}"></textarea>
<div *ngIf="caseManualForm.controls['description'].invalid && (caseManualForm.controls['description'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['description'].errors?.required">Description is required</div>
<div *ngIf="caseManualForm.controls['description'].errors?.maxlength">Max 50 characters are allowed</div>
</div>
</div>
<div class="form-group col-md-6">
<label for="case_quantity" class="required-field">QUANTITY</label>
<input type="number" class="form-control" id="case_quantity" formControlName="quantity"
[ngClass]="{ 'is-invalid': ((caseManualForm.controls['quantity'].touched || submitted) && caseManualForm.controls['quantity'].errors)}">
<div *ngIf="caseManualForm.controls['quantity'].invalid && (caseManualForm.controls['quantity'].touched || submitted)"
class="invalid-feedback">
<div *ngIf="caseManualForm.controls['quantity'].errors?.required">Quantity is required</div>
<div *ngIf="caseManualForm.controls['quantity'].errors?.maxlength">Max 3 characters are allowed</div>
<div *ngIf="caseManualForm.controls['quantity'].errors?.pattern">Quantity should be a number and greater than 0</div>
</div>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">Save</button>
</div>
</form>
</div>
</div>
</div>
Key changes made:
col-md-6) to ensure equal width for each control in a rowThe form now shows: