javascript - 角度输入类型日期时间本地验证
问题描述
在我用于日期时间选择的角度应用程序中,我使用输入类型 =“datetime-local”。
<input id="field_bookingTime" type="datetime-local" class="form-control" name="bookingTime" [(ngModel)]="bookingTime"
required/>
现在我需要禁用当前日期之前的日期和当前日期后 3 天的日期。例如对于 min,我添加了如下所示的验证。但是验证不起作用,仍然在显示的日历中启用了以前的日期。
currentDate = new Date();
<input [min]="currentDate" id="field_bookingTime" type="datetime-local" class="form-control" name="bookingTime" [(ngModel)]="bookingTime"
required/>
解决方案
我建议为表单控件编写一个自定义验证器。最小值和最大值的浏览器支持不好,但这也适用于本地日期时间。
function dateValidator(c: FormControl) {
// Not sure if c will come in as a date or if we have to convert is somehow
const today = new Date();
if(c.value > today) {
return null;
} else {
return {dateValidator: {valid: false}};
}
}
...
myForm = this.formBuilder.group({
date: ['', dateValidator]
})
...
推荐阅读
- firebase - firebase 的 Blaze 计划中的同时连接
- javascript - Jquery 函数返回数据完全被忽略
- python - 为什么 BeautifulSoup4 中标签的兄弟姐妹可以是字符串?
- android - 尝试获取特定节点上可用但无法从 firebase 数据库中获取数据的数据
- python - 如何循环 python 命令一定次数?
- r - 使用 apply 计算跨多个数据帧的子量表和总分
- reactjs - react-table 在单元格输入事件上更改行颜色
- unity3d - 在资产中移动 SDK
- ansible - 识别 Ansible 剧本
- php - 验证功能在wordpress中不起作用