Let me mention one thing. Data fields constantly check themselves for validity.
Say, you want to type "02292012". If you have data field prefilled with "11/31/2012", when you'd start typing "02292012" it would stop on first "0" and make chime. Because if you type "02", date would become "02/31/2012", which is invalid.
Another example. If you have data field prefilled with "02/28/2011", when you'd start typing "02292012" it would stop on "022" and make chime. Because if you type "0229", date would become "02/29/2011", which is also invalid.
It's important to check what WAS in this date field before you started typing.