javascript - 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;
}
}
解决方案
我也遇到过同样的问题。你可以通过两种方式解决这个问题。
1-使用这些库之一
[ https://www.dunebook.com/best-javascript-calendar-libraries/ ]
2-将您的日期转换为毫秒,然后进行比较。
推荐阅读
- opengl-es-2.0 - 有什么办法可以降低 CPU 的使用率,或者让 CPU 工作平衡,从而提高图形程序的性能?
- spring - 在 Spring Boot 中运行调度程序会在 Spring Boot 应用程序上下文之外生成一个进程
- ruby-on-rails - Heroku-18 堆栈升级
- azure - 访问 Azure B2C 的令牌服务时出现 404 错误
- angular - Typescript 接口类型映射到由原始对象和从原始对象的字段构建的新对象组成的对象
- reactjs - NavLink 精确道具不适用于 react-router-dom 6
- javascript - IE11 在 XML HttpRequest 上提示身份验证窗口
- flutter - 过滤 Dart 流以每秒只允许一个事件
- java - 如何映射jgrapht Graph
到另一个图表 ? - node.js - 如果已经从 fs 节点使用 AccessSync() 方法检查文件,是否还需要检查 ExistSync()?