angular / angular/components

datepicker: shows date using provided LOCALE_ID but parses date using default US locale (or a combination of them)

Aperta
#14,291 30 commenti 29 reazioni 0 assegnatari Vedi su GitHub
area: docs area: material/datepicker i18n P3
Lingua principale
TypeScript
Stelle
25k
Fork
6.8k
Merge medio
1g 8h
PR unite (30g)
91

Descrizione

#### Bug, feature request, or proposal:
Bug. I don't think it is working like that on purpose.

#### What is the expected behavior?
Date picker uses provided en-GB LOCALE_ID for parsing typed in date - 27/10/2018 input manually by typing is valid

#### What is the current behavior?
Typed date is parsed using US locale - 27/10/2018 input manually is invalid, 12/01/2018 is December, not January.

#### What are the steps to reproduce?
https://stackblitz.com/edit/angular-datepicker-locale?file=main.ts

1. Select 27/10/2018 using date picker.
2. Modify the date by editing the input to 26/10/2018
3. Observe invalid input

#### What is the use-case or motivation for changing an existing behavior?
Make material datepicker great again! But seriously: it seems like if a culture is provided it should affect both parsing and formatting aspects of dealing with dates and not format it into a date which is considered invalid when updated by typing.

#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
As in demo: Angular 7.1.0 Material 7.1.0. It fails validation on chrome if day (month?) is over 12, but on IE 11 is more curious as it modifies the year, I am fairly sure the swap issue causes it to work incorrectly on any browser.

#### Is there anything else we should know?
I think it may have been an issue with parsing the text date from text - it seems like it would parse using US culture ignoring provided locale.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con lo StackBlitz collegato e il relativo main.ts, riproducendo il comportamento del datepicker en-GB selezionando e poi modificando una data. Traccia il modo in cui il datepicker formatta e analizza l'input digitato, quindi verifica che date come 27/10/2018 vengano accettate in modo coerente con la locale fornita e che la riproduzione esistente non fallisca più la validazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
angular, typescript
Ambito
frontend, internationalization
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.