I'm using the Date API to show a date field with Month/Day/Year and it is "required" (with no default). If I don't enter anything, the error message appears as follows:
• Month field is required.
• Day field is required.
• Year field is required.
• Field Birthday has errors. The year must be a number between 1 and 4000. The month must be a number between 1 and 12. The day must be a number between 1 and 31.
The "required" messages have already stated what is wrong. The "Field birthday has errors..." message is not needed in this case, and IMHO it just adds confusion to the issue.
The value error check should distinguish between blank (or null) values vs. values that were entered outside the accepted ranges, and show the error message only in the latter case.