【发布时间】:2022-01-04 23:24:36
【问题描述】:
我有 2 个日期选择器在一个表单中。如果tillDate 小于fromDate,我希望发生错误。 这就是我想要做的,但没有成功。如何比较两个日期?谢谢
这是html
<div class="row">
<div class="col-md-6">
<mat-form-field class="full-width" appearance="standard">
<mat-label>From Date</mat-label>
<input matInput formControlName="fromDate" required (change)="onTillDate()"
[matDatepicker]="picker" placeholder="mm/dd/yyyy" >
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
<mat-error *ngIf="hasError('fromDate')" class="error-block">
From Date is a required field
</mat-error>
</mat-form-field>
</div>
<div class="col-md-6">
<mat-form-field class="full-width" appearance="standard">
<mat-label>Till Date</mat-label>
<input matInput formControlName="tillDate" required
[matDatepicker]="pickerTillDate" placeholder="mm/dd/yyyy" (change)="onTillDate()" >
<mat-datepicker-toggle matSuffix [for]="pickerTillDate"></mat-datepicker-toggle>
<mat-datepicker #pickerTillDate></mat-datepicker>
<mat-error *ngIf="tillDate.hasError('mismatch')" class="error-block" > Till Date should be equal to greater than From Date
</mat-error>
</mat-form-field>
</div>
</div>
这是ts文件
onTillDate(){
const startDate = (moment(this.fromDate.value)).toDate();
const endDate =(moment(this.tillDate.value)).toDate();
if(endDate < startDate ){
this.tillDate.setErrors({mismatch:true});
}
else
{
this.tillDate.setErrors(null);
}
}
【问题讨论】:
-
你考虑过图书馆momentjs.com吗?它真的很容易使用。
-
不知道,试试看,谢谢
标签: angular angular-material angular11