Ручной набор формата даты - PullRequest
0 голосов
/ 11 марта 2020

Я использую ng-pick-datetime для выбора и отображения дат. Я изменил формат даты на DD/MM/YYYY, используя dateTimeAdapter.setLocale('en-IN') в конструкторе. Если щелкнуть календарь и выбрать дату в формате 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');}

1 Ответ

1 голос
/ 11 марта 2020

Есть несколько способов проверки вашего ввода. Здесь я предоставил решение вашей проблемы.

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

Я добавил тип ввода в виде «текст», шаблон, как вам нужно »ДД / ММ / ГГГГ "и фон 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...