Skip to content

Conversation

@darrenaustin
Copy link
Contributor

Description

The current Date Picker implementation uses inputFormatters on the text input fields to restrict the input text to only digits and a date separator. However, there are some locales that don't have a single character separator, so this restriction is causing more problems than it is helping (see #63373). This PR removes the inputFormatters and just lets the user enter what ever characters they want and lets the validation take care of the error.

Related Issues

Fixes: #63373

Tests

Updated the invalid format text test to check that non-digit characters are allowed, but will generate an error if submitted.

Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I signed the [CLA].
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I updated/added relevant documentation (doc comments with ///).
  • All existing and new tests are passing.
  • The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Did any tests fail when you ran them?

  • No, no existing tests failed, so this is not a breaking change.

@flutter-dashboard flutter-dashboard bot added f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels. labels Aug 11, 2020
Copy link
Contributor

@rami-a rami-a left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@shihaohong shihaohong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the solution is that we choose to remove usage of MaterialLocalizations.dateSeparator as a text input formatter, should we just completely remove dateSeparator from our arb files as well? I did a quick sweep of the flutter repo and it seems like the only two places where it's used is already removed in this PR.

Copy link
Contributor

@HansMuller HansMuller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@darrenaustin
Copy link
Contributor Author

If the solution is that we choose to remove usage of MaterialLocalizations.dateSeparator as a text input formatter, should we just completely remove dateSeparator from our arb files as well? I did a quick sweep of the flutter repo and it seems like the only two places where it's used is already removed in this PR.

Yeah, we can remove this field as it will no longer be needed after this PR. I didn't include it here as I was trying to keep the PR somewhat contained so that we would have a better change of getting it cherry picked.

@fluttergithubbot fluttergithubbot merged commit eb941ce into flutter:master Aug 11, 2020
pcsosinski pushed a commit to pcsosinski/flutter that referenced this pull request Aug 12, 2020
@darrenaustin darrenaustin deleted the date_picker_separator branch August 12, 2020 19:32
pcsosinski pushed a commit that referenced this pull request Aug 13, 2020
* Fix SliverList scrollOffsetCorrection 0 case (#62615)

* Case insensitive check flavor names against Xcode schemes (#61140)

* Address misc time picker design issues (#62803)

* Update to the latest localizations (#63026)

* Removed the inputFormatters from the text input fields used by the Date Pickers (#63461)

* Fix App.framework path in Podfile (#63412)

* Update engine hash to 1.20.2

Co-authored-by: Kate Lovett <[email protected]>
Co-authored-by: Jenn Magder <[email protected]>
Co-authored-by: Rami <[email protected]>
Co-authored-by: Shi-Hao Hong <[email protected]>
Co-authored-by: Darren Austin <[email protected]>
pcsosinski pushed a commit to pcsosinski/flutter that referenced this pull request Aug 18, 2020
pcsosinski pushed a commit that referenced this pull request Aug 18, 2020
* Update engine hash to 1.21.0-9.1.pre

* Removed the inputFormatters from the text input fields used by the Date Pickers (#63461)

* Fix App.framework path in Podfile (#63412)

Co-authored-by: Darren Austin <[email protected]>
Co-authored-by: Jenn Magder <[email protected]>
Copy link

@johnlegend3476 johnlegend3476 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JLinsalatoDavid

darrenaustin

Copy link

@johnlegend3476 johnlegend3476 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mingwandroid pushed a commit to mingwandroid/flutter that referenced this pull request Sep 6, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 6, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Double date separators appearing in DatePicker, preventing date selection

6 participants