ui-date icon indicating copy to clipboard operation
ui-date copied to clipboard

ui-date loses information when using dateFormat (caused due to a bug in jquery-ui)

Open saurabhnanda opened this issue 12 years ago • 2 comments

My plunker at http://plnkr.co/edit/OM1O89Aw0wi1wDgn9ul5?p=preview demonstrates the issue. Try selecting a date NOT in the current year (i.e. if you're seeing this in 2013, try selecting a date in 2014). You'll notice that the date object in the scope -- $scope.myDate -- still has 2013 as the year.

This actually happens because of how jquery-ui responds to the dateFormat setting. However, when you're in the angular world, you'd expect the following behaviour:

  • The underlying date object should always be correct and neither dateFormat, altFormat, nor ui-date-format should affect what gets stored in it
  • The above mentioned settings should affect ONLY what is displayed to the user.

Please note, using ui-date-format does NOT solve this issue. Because that causes the ui-date to accept and emit strings into the ngModel. How does one continue to have a Date object in the ngModel while changing what is displayed to the user.

saurabhnanda avatar Dec 12 '13 08:12 saurabhnanda

Is there any update on this issue? I'm seeing some issues with ui-date-format as well... not sure if related.

JaKXz avatar Jan 09 '15 19:01 JaKXz

Hello @JaKXz, if you have a jsbin that shows your issue that might be easier to see if it is related or not.

I have to revisit how the ngModel is parsed and validated.

Here's an example with nothing but parsing and validation (without any ui-date at all) that helps to see the timing of when everything is run

http://jsbin.com/leliwu/3/edit?js,console,output

If the model starts as a string or is set to a value directly we have the following occur:

  1. formatting
  2. validation

when it changes we have

  1. parsing
  2. validation

I see now the problem of starting with a string in the ngModel and then converting to a date. If I can resolve using the parsers and validators correctly then this should be ok but I probably won't have time until later this month to revisit this.

alexanderchan avatar Jan 12 '15 09:01 alexanderchan