javascript - 手动输入日期格式

标签 javascript angular typescript date

我正在使用ng-pick-datetime用于选择和显示日期。我已在构造函数中使用 dateTimeAdapter.setLocale('en-IN') 将日期格式更改为 DD/MM/YYYY 。如果我单击日历并选择日期,其格式为DD/MM/YYYY,但如果我手动输入03/28/2019,它仍然接受。即使在打字时,我也想限制除 DD/MM/YYYY 之外的其他格式。请帮帮我。

代码

<input (ngModelChange)="onChangeDate($event)" [(ngModel)]="dob" name="date" [owlDateTimeTrigger]="dt1" [owlDateTime]="dt1" required>
<owl-date-time class="" [pickerType]="'calendar'" [startView]="'multi-years'" #dt1></owl-date-time>

import { DateTimeAdapter } from 'ng-pick-datetime';
constructor(dateTimeAdapter: DateTimeAdapter<any>){dateTimeAdapter.setLocale('en-IN');}

最佳答案

有多种方法可以验证您的输入。在这里我为您的问题提供了解决方案。

https://stackblitz.com/edit/ng-pick-datetime-format-i18n-qwhyb3?embed=1&file=src/app/app.component.html

我已添加输入类型为“文本”、模式(您需要“DD/MM/YYYY”)和背景 CSS 来获取输入标记的有效和无效状态。

<input type="text" pattern="^([0-2][0-9]|(3)[0-1])(\/)(((0)[0-9])|((1)[0-2]))(\/)\d{4}$" (ngModelChange)="onChangeDate($event)" [(ngModel)]="dob" name="date" [owlDateTimeTrigger]="dt1" [owlDateTime]="dt1" required>

关于javascript - 手动输入日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60630058/

相关文章:

javascript if/else,但仍然可编辑

javascript - Jquery Ajax Post 中的 CORS 问题

javascript - 如何添加 optgroup do dijit.form.Select 或其他小部件类型

javascript - React - 如何将对象推送到嵌套在数组中的数组

interface - 从混合接口(interface)类型创建类

angular - 使用 Ionic3 时出现“不支持”错误

angular - 无法绑定(bind)到 'matRowDefColumns',因为它不是 'mat-row' 的已知属性

javascript - 在单击任何对象之前,Angular 2 不会更新

javascript - 计算和删除嵌套数组中的多个元素

javascript - Angular2 如何使用 Javascript XMLHttpRequest 重定向到另一个组件?