【发布时间】:2021-04-03 03:32:04
【问题描述】:
有两个下拉菜单,API 为开始日期和结束日期提供了一些日期选项(只有月份,然后是年份,例如:MAY-19)。这里需要限制3个月的范围。如果超过 3 个月不允许。您能否提供一些想法如何实现这一目标。
请看参考Stackblitz
【问题讨论】:
-
请在问题本身中提供相关代码,而不仅仅是在 Stackblitz 等外部网站上。
标签: angular typescript
有两个下拉菜单,API 为开始日期和结束日期提供了一些日期选项(只有月份,然后是年份,例如:MAY-19)。这里需要限制3个月的范围。如果超过 3 个月不允许。您能否提供一些想法如何实现这一目标。
请看参考Stackblitz
【问题讨论】:
标签: angular typescript
这样的事情会起作用:
创建模型月份数组:
months = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']
checkValidMonth(startDate: string, endDate: string): boolean {
startDate = startDate.substr(0,3);
endDate = endDate.substring(0,3);
console.log(Math.abs(this.months.indexOf(startDate) - this.months.indexOf(endDate)) <= 3)
return Math.abs(this.months.indexOf(startDate) - this.months.indexOf(endDate)) <= 3
}
HTML:
<p *ngIf="checkValidMonth(form.get('startDate').value, form.get('endDate').value)">**Months have to be 3 apart</p>
更新 Stackblitz:https://stackblitz.com/edit/date-validations-reactive-j4uykk?file=src%2Fapp%2Fformreactive%2Fformreactive.component.ts
【讨论】: