Thursday, July 18, 2013

How to Set Custom Validation Error Messages in HTML5


If you have been working with HTML5 you might have definitely come across Validation Error Messages. While some developers still want to stay away from making use of validation forms it isn’t quite a clever idea as this helps in saving server-side resources and improve the performance of website or application. When you are talking of a large website every bit of performance counts and hence you can make no compromise.  If every bit of information need to be validated from the server this will make your website crawl which is never desired.

One of the reasons many developers stay away from validation error messaging is the fact that they don’t seem to make out much out of it. Depending on the browser you are using these error messages might even be in incorrect languages creating confusion in the minds of the developers. At times these error messages also spoil the user experience and raise a lot of issue with cross-browser compatibility. To get round this problem you can set custom validation error messages for HTML5. 

Let us take a look at a common example for an HTML5 validation error message. The API for the following would be something like. 

element.oninvalid = function(e) {
  if (!e.target.validity.valid) {
    e.target.setCustomValidity("This field contains errors");
  }
};
element.oninput = function(e) {
  e.target.setCustomValidity("");
};

You will find the above example to be pretty confusing and following such kind of error messages you will end up writing lots of unnecessary JavaScript. There is another important thing that is missing in this error message – it doesn’t contain the logic for different states of error. It is in this kind of situations that creating a Custom Input Validation Error Messages becomes necessary. You can easily set the custom message by using data-errormessage and data-errormessage-* attributes on your form elements. Let us take a look at an example for such custom validation.

Data attribute naming format: data-val-{method name}

Data attribute naming example: data-val-required

Example: <input type="text" name="name" class="required" data-val-required="Please enter your name.">

So for the above example the HTML code will appear something like –

<script src="custom.vm.js" type="text/javascript">

<input type="email" data-errormessage-value-missing="It says &quot;required&quot; in the HTML!" data-errormessage-type-mismatch="Let us try this thing out: type=&quot;email&quot;." data-errormessage="This is the fall back error message." required>

In the above example you can clearly see how we have set a custom validation error message to meet our needs and be cross browser compatible.


If you want to Hire HTML programmer for setting custom validation error messages in HTML5 or PSD to HTML conversion services? Contact US

No comments:

Post a Comment