Despite all of the buzz around html5 forms, it seems to me like you are creating extra work, in most scenarios, by going this route.
Take, for example, a datepicker field. The native html5 implementation of this renders differently in every browser. In addition your polyfilled solution (jquery UI for instance), for a browser not supporting this feature, will also render differently.
Now, we have introduced multiple points of customization and maintenance for the same form, when we had a perfectly working and unified solution with jquery!
I'd love to hear about some real world experiences in this area, because I'm getting annoyed with all of the buzz!
First of all I'm the creator of webshims lib (one of those polyfills, which isn't maintained anymore). To answer your question:
Is it worth creating a forms polyfill for a project?
No, it is really hard to do this just for one project. Well, I have done it, simply because I want to use modern technologies.
Is it worth using a forms polyfill like webshims lib for a project?
Yes absolutely! And here is why:
1. Nice standardized declarative Markup API
After including webshims and scripting the following:
You can simply write your widgets and your constraints into your form:
This will create 3 different widgets and each are configured differently. No extra JS needed just standardized, clean and lean code.
2. Standardized DOM-API
Same goes to the DOM API. Here are just two examples: Combining two date fields and combining a range field with a date field.
3. works without JS in modern browsers
Degrades gracefully in old browsers and works well in modern ones.
4. Less file size in modern browsers
Especially good for mobile (iOS 5, Blackberry have support for date for example)
5. Better UX [mostly mobile]
Better mobile UX (better input UI for touch, better performance, fits to the system), if you are using it: type="email", type="number" and type="date"/type="range"
But still, what about customizability?
I'm a developer in a bigger agency and you are absolutely right most clients and most designers won't tolerate much differences, but I still want to use modern technologies, which means webshims lib can give you the best of both worlds.
Customizing the constraint validation
The polyfilling part
Customizing the UI for the error-bubble:
generates the following markup:
Customizing the style of an invalid/valid form field:
Customizing the text of the validity alert:
And now, what's the point:
And what is with your special example, customizing the datefield?
No problem:
And also here:
And now, here comes the best: