The toStringFormat is what mySQL wants to give use for a DATETIME, and what it wants back of course. I was expecting to get the Y-m-d format for the input field... but the input field is created and populated with "9/5/15, 12:00 AM" Which is correct form for LOCALE, but has time involved.
Since this is a DATE field, the time specifier should not be there... the opposite is true when I have a TIME field... it has a DATE.
It would seem to me that the Time routine that is called as the text field is populated should at least use the LOCALE format for the DATE and leave the time out! Then maybe the Validation routines would work. If it uses the toStringFormat of the date object, that would be ok with me as long as the time is left out.
Now, I can get what I want... but I have to drop the ORM and get a ->hydrate(false)->toArray() ...alter the date and time field to use the locale and no time... edit... build an entity from array, change the format of the date and time to keep mySQL happy, and then save.
As usual, there is probably something very simple that I've missed, but I've wasted a lot of time trying to get this to work the "cakePHP" way. Any ideas, or suggestions would be greatly appreciated.