The final ID for the inputDate will be generated in the following format: formID:ComponentId:InternalComponentId
Your form has no ID, so that a unique id will be generated.
Your inputDate component has the ID "userBirthday".
Your internal inputText has no ID, so that a unique id will be generated.
But you can avoid this by defining IDs for each component.
inputDate.xhtml:
<h:inputText id="inputDateId" value="#{cc.attrs.date}">
greeting.xhtml:
<h:form id="greetingFormId"> ... <fc:inputDate id="userBirthdayId" date="#{dukesBDay.yourBD}" /> ... <h:message for="greetingFormId:userBirthdayId:inputDateId" style="color:red"/>
Then you will get an error message like the following:
greetingFormId:userBirthdayId:inputDateId: '23.12.2001' konnte nicht als Datum interpretiert werden. Beispiel: 05/06/2014