thing to do. We all have seen it in HTML4 but what’s new in HTML5? Will it provide us with
way to validate a form by writing just a small piece of code?
Today we will be talking about this validation stuff in HTML5. But as usual, all the browsers don’t support all of them but
it is a good start to think for future.
Reference: Easy Form Validation using HTML5[^]
In HTML4, we had a single input type for entering text but in HTML5 we have
different input types for entering different data types, e.g., we have
data type for email address,
url data type for entering a website
number for numeric inputs, and
text data type for strings.
Not only this, HTML5 also supports placing a watermark text as a place holder text of any textbox. This gives the page designer and user
an easy way to understand the input field.
You can remember that this was way too difficult in the earlier versions of HTML and even in ASP.NET.
As usual, HTML still has an issue in terms of browser support. HTML 5 is not yet standardized,
and all those features are not yet supported by all browsers.
Google Chrome and Firefox supports a vast number of features but IE is lacking
Here is a comparison chart of HTML5 Validation support in different web browsers:
Look at the above chart and you will notice that IE support is still missing. I tested them in IE 10 and it’s working there but
is not yet confirmed in the browser compatibility chart.
Playing with code
To do easy validation using HTML5, you need to add support for HTML5 in your page by adding this line first at the top of the page:
Now you can choose between the various data types to include in the form. Here is a code snippet where we
have used the “
url” and “
number” data types to demonstrate this feature:
<input type="text" placeholder="Enter your full name" required><br/>
<input type="email" placeholder="Enter email address" required><br/>
<input type="url" placeholder="Enter your website URL"><br/>
<input type="number" value="1" min="1"
max="5" placeholder="Enter no. of attendees">
<input type="submit" value="Submit">
Check out the use of “
placeholder” in the above code. It works just like a watermark text in the input textbox and provides
the user the necessary information while empty. The
required attribute asks the user to enter text and on validation fail, it marks the textbox in red and shows a styled tooltip in the screen to enter some valid text in that box.
Similarly, it always tests for proper data types and throws invalid input when the data type mismatches.
Another interesting thing is with the
number input type. It creates
a range validation logic with
max attributes and creates a numeric up-down field in the screen. This feature is not supported on all browsers
and you will see a simple textbox in case it’s not supported by that browser.
I hope that this quick little post will help you understand the basics of HTML5 form validation and if you are using HTML5, this will help you write less code
to do such big logic in your page.
Subscribe to my blog’s RSS feed and email newsletter to get immediate updates on latest news,
articles, and tips. I am available on Twitter. Connect with me there for technical discussions. I am also available
in Facebook and Google+.
Don’t forget to connect there too. Happy coding.
Kunal Chowdhury is a Microsoft MVP (Most Valuable Professional) in Silverlight Technology, a Codeproject MVP & Mentor, DZone MVB (Most Valuable Blogger), Speaker in various Microsoft events, Author, passionate Blogger and a Software Engineer by profession.
He is currently working as a Software Engineer II in an MNC located at Pune, India. He has a very good skill over XAML, C#, Silverlight and WPF. He has a good working experience in Windows 7 application (including Multi-touch) development too.
He posts his findings in his technical blog. He also writes for SilverlightShow and Codeproject portal. Many of his articles were highlighted as "Article of the Day" in Microsoft sites.
He also has another website called Silverlight-Zone.com where he posts article links on Silverlight, Windows Phone 7 and XNA accumulated from various web sites to help the community grow on specified technologies.
You can reach him in his Blog : http://www.kunal-chowdhury.com
He is also available in Twitter : http://twitter.com/kunal2383