Neben dem HTML5 enabling script, welches die Darstellung von HTML5-Tags, wie section, aside, article, etc. in fast allen Browsern (auch im IE 6) forciert, umfasst der HTML5 – Draft auch einige Techniken, die nur von neuesten Browser Rendering Engines vollkommen unterstützt werden.
Dazu zählen die neuen Input-Types, wie date z.B.: range, url, email, usw. sowie deren Validierung. Mit HTML5 (soweit vorgesehen) soll es möglich werden, Usereingaben im Frontend ohne Javascript zu überprüfen und die daraus resultierenden Meldungen mit CSS3 zu stylen.
Eine erste volle Unterstützung bieten hier einzig die Webkit-Browser Safari und Google Chrome. Firefox gibt uns zwar die Möglichkeit Meldungen anzuzeigen, lässt uns diese allerdings (zum jetzigen Stand) noch nicht mit CSS stylen. Schade.
Erste Einblicke in die Technik geben uns also eigentlich alle aktuellen Browser (selbstverständlich exklusive IE) und eine kleine Demo, welche ich hier zur Verfügung stelle.
Wie funktioniert das?
Hierzu braucht man eigentlich nur wenige Dinge:
- Webkit- (bevorzugt) bzw. Gecko-Browser
- eine schließendes
form element
- und das wichtigste; das
required – Attribut
Das könnte dann so aussehen:
Das required-Attribut forciert, dass der Browser bei Klick auf den Submit-Button das jeweilige Input auf ein bestimmtes Pattern überprüft. Stimmt dieses nicht mit der Eingabe überein, schickt er das Formular nicht ab und zeigt eine Meldung, welche sich (im Google Chrome) mit CSS3 auch neu gestalten lässt.
Fazit
Höchst experimentell. Schaut man in die Demo und sich das dazugehörige CSS mal an, wird man feststellen, dass das Styling der Message-Bubbles und das Handling der Status-Pseudoklassen (input:valid) noch einiger Überarbeitung bedarf.
Wem der Standard-Style der Messages reicht, kann hier über eine duale Anwendung mit Javascript nachdenken – für alle Anderen ist Warten angesagt, bis Mozilla und Co. seine CSS-Selektoren für die “Validation Bubbles” freigibt.
Weiterführend
Mehr über WebForms2
Form validation message (Aufbau + Selektoren / Webkit Dokumentation)