I followed this example - https://ej2.syncfusion.com/angular/demos/#/material/grid/dialog-reactive-form
<div class="form-row">
<div class="form-group col-md-4">
<div class="e-float-input e-control-wrapper">
<input formControlName="tkid" id="tkid" name="tkid" type="text" [attr.disabled]="true">
<span class="e-float-line"></span>
<label class="e-float-text e-label-top" for="tkid"> TKID</label>
</div>
</div>
<div class="form-group col-md-4">
<div class="e-float-input e-control-wrapper">
<input formControlName="networkUserName" id="networkUserName" name="networkUserName" type="text" [attr.disabled]="true">
<span class="e-float-line"></span>
<label class="e-float-text e-label-top" for="networkUserName">Network User Name</label>
</div>
</div>
<div class="form-group col-md-4">
<div class="e-float-input e-control-wrapper">
<input formControlName="jobTitle" id="jobTitle" name="jobTitle" type="text" [attr.disabled]="true">
<span class="e-float-line"></span>
<label class="e-float-text e-label-top" for="jobTitle">Job Title</label>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-3">
<div class="e-float-input e-control-wrapper" [ngClass]="{'e-error': firstName.invalid && (firstName.dirty || firstName.touched)}">
<input formControlName="firstName" data-msg-containerid='firstNameError' id="firstName" name="firstName" type="text">
<span class="e-float-line"></span>
<label class="e-float-text e-label-top" for="firstName">First Name</label>
</div>
<div id="firstNameError" [style.visibility]='((firstName.invalid && (firstName.dirty || firstName.touched)) || (firstName.invalid && submitClicked))? "visible": "hidden"'>
<label class="e-error" for="firstName" id="firstName-info" style="display: block;">*First Name is required</label>
</div>
</div>
<div class="form-group col-md-3">
<div class="e-float-input e-control-wrapper">
<input formControlName="middleName" id="middleName" name="middleName" type="text">
<span class="e-float-line"></span>
<label class="e-float-text e-label-top" for="middleName">Middle Name</label>
</div>
</div>
<div class="form-group col-md-3">
<div class="e-float-input e-control-wrapper" [ngClass]="{'e-error': lastName.invalid && (lastName.dirty || lastName.touched)}">
<input formControlName="lastName" data-msg-containerid='lastNameError' id="lastName" name="lastName" type="text">
<span class="e-float-line"></span>
<label class="e-float-text e-label-top" for="lastName">Last Name</label>
</div>
<div id="lastNameError" [style.visibility]='((lastName.invalid && (lastName.dirty || lastName.touched)) || (lastName.invalid && submitClicked))? "visible": "hidden"'>
<label class="e-error" for="lastName" id="lastName-info" style="display: block;">*Last Name is required</label>
</div>
</div>
<div class="form-group col-md-3">
<div class="e-float-input e-control-wrapper">
<input formControlName="displayName" id="displayName" name="displayName" type="text">
<span class="e-float-line"></span>
<label class="e-float-text e-label-top" for="displayName">Display Name</label>
</div>
</div>
</div>