@@Christian Kruse
Ein Placeholder allein ist IMHO nicht genug.
Der Versuch, den Placeholdertext permanent anzuzeigen, scheitert an den arg beschränkten Eigenschaften, die das Pseudoelement bzw. die Pseudoklasse unterstützt.
Da ersetzte Elemente wie input
keinen generierten Inhalt haben dürfen, geht auch input::before { content: attr(placeholder) }
nicht.
Aber warum sollte Placeholder erstmal nicht reichen? Das Feld ist initial leer, der Hinweis wird angezeigt. Nutzer tippt ein Datum ein, in den meisten Fällen wohl im angegeben Format. Falls nicht, würde das vermutlich einen Nutzer auch nicht davon abbringen, das Formular abzuschicken.
Wenn die serverseitige Auswertung mit der Nutzereingabe nichts anfangen kann, wird eine Meldung ausgegeben. Die enhält noch einmal den Hinweis auf das einzuhaltende Format undd bleibt permanent stehen.
Die Meldung kann (lies: sollte) so formuliert sein, dass nicht der Nutzer als der Dumme dasteht, bspw. „Unser System kann leider nur Datumseingaben im Format TT.MM.JJJJ (bspw. 25.08.1975) oder JJJJ-MM-TT (bspw. 1975-08-25) entgegennehmen.“
In Wirklichkeit ist das System natürlich doch toleranter; auch 25.8.1975 ohne führende Null wird akzeptiert, auch 25/8/1975.
LLAP 🖖
Ist diese Antwort anstößig? Dann könnte sie nützlich sein.