i have owl date time picker in my app as below
<div class="input-group timepicker form-group">
<input [owlDateTime]="arrivalDate" [owlDateTimeTrigger]="arrivalDate" [min]="date" name="ArrivalDate" class="custom-no-validation form-control"
[(ngModel)]="myModel.arrivalDate" required #ArrivalDate="ngModel" >
<owl-date-time #arrivalDate></owl-date-time>
<span class="calander-icon">
<i class="glyphicon glyphicon-calendar"></i>
</span>
<div *ngIf="myFrom.submitted && ArrivalDate.invalid" class="ErrorTxt">
<div *ngIf="ArrivalDate.errors.required && myModel.firstLastArrivalDate">Arrival date is required</div>
</div>
</div>
and in ts file
if (!form.valid) {
let elements = document.getElementsByClassName("ng-invalid");
if (elements.length > 1) {
(elements[1] as HTMLElement).style.border ='1px solid red';
(elements[1] as HTMLElement).focus();
}
return;
}
[min]="date" is added to prevent user from selecting past dates , here date is a variable in ts file initialize with new Date() value.
Now after retrieving data , if value in myModel.firstLastArrivalDate is a past date than [min] cause ng-invalid to add in input element ,
min is only from preventing user from selecting past date , it should not check element value and compare with current date i.e: new Date()
How can i prevent min from adding ng-invalid on input element.