Coming soon: A minimalist validation library for client side and server side..
jQuery Validate
License: MIT.
Version: 1.1.2.
Requires: jQuery 1.7+.
To use jQuery Validate you just need to include in your code a version of the jQuery library equal or more recent than 1.7
and a file with the plugin. Click here to download the plugin.
After this, you just need select your form and calling the jQuery.fn.validate
method.
See a example:
jQuery('form').validate();
After calling the jQuery.fn.validate
method, you can validate your fields using data attributes, that are valid to the HTML5, according to the W3C.
See a example to required field:
<form> <input type="text" data-required /> </form>
jQuery Validate supports all fields of the HTML5 and uses WAI-ARIA for accessibility. You can use several attributes to your validations.
Attributes
<th>Description</th> <th width="75px">Default</th> </tr> <tr> <td>data-conditional</td> <td>Accepts one or more indexes separated by spaces from the `conditional` object that should contain a the boolean return function.</td> <td></td> </tr> <tr> <td>data-ignore-case</td> <td>Accepts a boolean value to specify if field is case-insensitive.</td> <td>true</td> </tr> <tr> <td>data-mask</td> <td>Accepts a mask to change the field value to the specified format. The mask should use the character groups of the regular expression passed to the <a href="#data-pattern">`data-pattern`</a> attribute.</td> <td>${0}</td> </tr> <tr> <td>data-pattern</td> <td>Accepts a regular expression to test the field value.</td> <td>/(?:)/</td> </tr> <tr> <td>data-prepare</td> <td>Accepts a index from the `prepare` object that should contain a function to receive the field value and returns a new value treated.</td> <td></td> </tr> <tr> <td>data-required</td> <td>Accepts a boolean value to specify if field is required.</td> <td>false</td> </tr> <tr> <td>data-trim</td> <td>Accepts a boolean value. If true, removes the spaces from the ends in the field value. (The field value is not changed)</td> <td>false</td> </tr> <tr> <td>data-validate</td> <td>You can use the `data-validate` to calling extensions.</td> <td></td> </tr>
Attribute |
---|
Parameters
<th>Description</th> <th width="75px">Default</th> </tr> <tr> <td>conditional</td> <td>Accepts a object to store functions from validation.</td> <td></td> </tr> <tr> <td>filter</td> <td>Accepts a selector string or function to filter the validated fields.</td> <td>*</td> </tr> <tr> <td>nameSpace</td> <td>A namespace used in all delegates events.</td> <td>validate</td> </tr> <tr> <td>onBlur</td> <td>Accepts a boolean value. If true, triggers the validation when blur the field.</td> <td>false</td> </tr> <tr> <td>onChange</td> <td>Accepts a boolean value. If true, triggers the validation when change the field value.</td> <td>false</td> </tr> <tr> <td>onKeyup</td> <td>Accepts a boolean value. If true, triggers the validation when press any key.</td> <td>false</td> </tr> <tr> <td>onSubmit</td> <td>Accepts a boolean value. If true, triggers the validation when submit the form.</td> <td>true</td> </tr> <tr> <td>prepare</td> <td>Accepts a object to store functions to prepare the field values.</td> <td></td> </tr> <tr> <td>sendForm</td> <td>Accepts a boolean value. If false, prevents submit the form (Useful to submit forms via <a href="http://api.jquery.com/jQuery.ajax/" target="_blank">AJAX</a>).</td> <td>true</td> </tr> <tr> <td>waiAria</td> <td>Accepts a boolean value. If false, disables <a href="http://www.w3.org/WAI/PF/aria/" target="_blank">WAI-ARIA</a>.</td> <td>true</td> </tr>
Parameter |
---|
Callbacks
<th>Description</th> </tr> <tr> <td>valid</td> <td>Accepts a function to be calling when form is valid. The context (`this`) is the current verified form and the parameters are respectively `event` and `options`.</td> </tr> <tr> <td>invalid</td> <td>Accepts a function to be calling when form is invalid. The context (`this`) is the current verified form and the parameters are respectively `event` and `options`.</td> </tr> <tr> <td>eachField</td> <td>Accepts a function to be calling to each field. The context (`this`) is the current verified field and the parameters are respectively `event`, `status` and `options`.</td> </tr> <tr> <td>eachInvalidField</td> <td>Accepts a function to be calling when field is invalid. The context (`this`) is the current verified field and the parameters are respectively `event`, `status` and `options`.</td> </tr> <tr> <td>eachValidField</td> <td>Accepts a function to be calling when field is valid. The context (`this`) is the current verified field and the parameters are respectively `event`, `status` and `options`.</td> </tr>
Callback |
---|
Removing validation
You can remove validation of a form using the jQuery.fn.validateDestroy
method.
Example:
jQuery('form').validateDestroy();
jQuery.fn.validate
Changing the default values of You can changes the default values of jQuery.fn.validate
using jQuery.validateSetup
method.
Example:
jQuery('form').validateSetup({ sendForm : false, onKeyup : true });
Creating descriptions
You can create descriptions to the field states.
Example:
<form> <input type="text" data-describedby="messages" data-description="test" /> <span id="messages"></span> </form>
$('form').validate({ description : { test : { required : '<div class="error">Required</div>', pattern : '<div class="error">Pattern</div>', conditional : '<div class="error">Conditional</div>', valid : '<div class="success">Valid</div>' } } });
Creating extensions
You can use the jQuery.validateExtend
method to extend the validations and calling the extensions with data-validate
attribute.
Example:
<form> <input type="text" name="age" data-validate="age" /> </form>
jQuery('form').validate(); jQuery.validateExtend({ age : { required : true, pattern : /^[0-9]+$/, conditional : function(value) { return Number(value) > 17; } } });