Skip to content
This repository has been archived by the owner on Apr 4, 2019. It is now read-only.

Input type='date' #472

Open
fsmanuel opened this issue Nov 27, 2016 · 0 comments
Open

Input type='date' #472

fsmanuel opened this issue Nov 27, 2016 · 0 comments

Comments

@fsmanuel
Copy link

fsmanuel commented Nov 27, 2016

Initially reported: https://github.com/martndemus/ember-form-for/issues/123 (with a demo)

Browsers adjust the date to the local format. That results in the following error if you try to enter 27.11.2016 (valid german format):

The specified value "2-11-27" does not conform to the required format, "yyyy-MM-dd".

jQuery has the same problem but can be tweaked with valHooks.date. See https://github.com/martndemus/ember-form-for/issues/123#issuecomment-263118713 how the hook can be implemented.

Still htmlbars setPropertyStrict throws an error and the date is reset because of the wrong format.

A fix could be:

prototype.setPropertyStrict = function (element, name, value) {
  if (value === undefined) {
    value = null;
  }

  if (value === null && (name === 'value' || name === 'type' || name === 'src')) {
    value = '';
  }

  // Prevents the date to be reseted if the format isn't yyyy-mm-dd
  if (element.type === 'date') {
    let [year] = value.split('-');

    if (year.length < 4) {
      return;
    }
  }

  element[name] = value;
};

I'm happy to discuss a better fix or solution to the problem.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant