首页 > 解决方案 > Angular 7开始日期>结束日期验证

问题描述

我是角度工作的新手。我在代码中遇到问题。
开始日期和结束日期:
开始日期 >= 结束日期

在创建新记录的情况下,它与我当前的逻辑工作正常,但是当我尝试更新任何记录并更新结束日期时,该按钮仍然处于禁用状态。
任何人都可以帮助我的代码?

<mat-form-field appearance="outline" fxFlex="33" class="pr-4">
               <mat-label>Start Date</mat-label>
               <input matInput [matDatepicker]="startDatePicker" name="startDate" formControlName="startDate"
                 required>
               <mat-datepicker-toggle matSuffix [for]="startDatePicker"></mat-datepicker-toggle>
               <mat-datepicker #startDatePicker></mat-datepicker>
               <mat-error>Start Date is required!</mat-error>
             </mat-form-field>

             <mat-form-field appearance="outline" fxFlex="33" class="pr-4">
               <mat-label>End Date</mat-label>
               <input matInput [matDatepicker]="endDatePicker"  

                  (dateChange) ="addEvent(academicYearForm.get('startDate').value,$event)"  name="endDate"  formControlName="endDate" required>
               <mat-datepicker-toggle matSuffix [for]="endDatePicker"></mat-datepicker-toggle>
               <mat-datepicker #endDatePicker></mat-datepicker>
               <mat-error>End Date is required!</mat-error>
             </mat-form-field>
addEvent(startDate,event: MatDatepickerInputEvent<Date>) {
    if(event.value >= startDate){
        this.isDisabled = false;
    }else {
        this.isDisabled = true;
    }
}

标签: javascriptangular

解决方案


我也遇到过同样的问题。你可以通过两种方式解决这个问题。

1-使用这些库之一
[ https://www.dunebook.com/best-javascript-calendar-libraries/ ]

2-将您的日期转换为毫秒,然后进行比较。


推荐阅读