Das ist lustig Aussage angesichts dessen, dass man im Safari 5, ein Browser, der Techniken wie required unterstützt, das Prüfen des Formulars, das Anzeigen von Meldungen und das Blocken des Absendens manuell mit JavaScript lösen muss. Meines Wissens ist dieses Verhalten auch HTML5-konform. Im Firefox und Chrome hingegen wird das submit-Ereignis nicht gefeuert, wenn das Formular Fehler aufweist und browsereigene Fehlermeldungen angezeigt werden. Damit eine konsistente UX umzusetzen, die dem Nutzer hilfreiche Hinweise gibt, ist nicht ohne JavaScript-Quirks möglich. Da würde ich lieber auf HTML5-Formularvalidierung verzichten und client- wie serverseitig eine eigene zuverlässige umsetzen.
Was übrigens nicht funktioniert ist einfach den Typ eines Formularfeldes zu ändern.
Wenn du ein input[type=date] machst und das type-Attribut dann auf text änderst um z.B. einen JavaScript-Datepicker zu verwenden zu können, ohne dass dich der originale stört, schlägt das unter Opera 11.52, Safari 5 oder Chrome 14 fehl:
Das ding Klonen, das Attribut ändern, wieder einfügen und dann das original entfernen hingegen funktioniert: