Currently, when entering start and end dates that do not differ, or differ only by one field, the Done button is disabled until hitting an extra key, or focusing out of the field to trigger the change events. To me, this seems like it could be easily fixed by changing the key down events to key up events.
after filling these fields, the red text: “The end date cannot precede the begin date.” appears, and the Done button is disabled. This is caused because the last time a key is pressed down, the end date fields contain “2011”, “10” and “2”. Only after this moment, the last character ‘8’, is appended to the “2”. If this listener were to wait for when the key is released, the last field would already be “28” and this would not be an issue.