абстрактный элемент управления не выводит значение
Я использую валидатор типа abstractControl для проверки входного значения формы. Когда пользователь вводит 30.02.2021 или 31.11.2021, он не может получить control.value. Вместо этого используется значение "" (пустая строка). Есть ли способ получить реальное значение control.value вместо "" пустой строки?
dateValidator(): ValidatorFn {
return (control: AbstractControl) => {
console.log(control.value);
if (!!control.value) {
const str = control.value.trim();
if (str === null || str === undefined || (!!str && !moment(str, this.dateFormat, true).isValid())) {
return {'invalidDate': true};
}
}
return null;
};
}
this.dateForm = this.fb.group({
onDate: new FormControl('', {
validators: this.dateValidator(),
updateOn: 'change'
})
});
<input [ngClass]="{'invalidInput': dateForm.get('onDate').errors} type="date" formControlName="onDate" >
<div class="error" *ngIf="dateForm.get('onDate').errors?.invalidDate">
"INVALID_DATE"
</div>