A jQuery plugin to validate form fields. Use with Bootstrap 3
- Built from scratch
- Many built-in validators
You can see the live demo here:
Since the bootstrapValidator plugin requires jQuery and Bootstrap 3, you have to include the required CSS and JS files to your page:
<link rel="stylesheet" href="/path/to/bootstrap/css/bootstrap.css"/>
<link rel="stylesheet" href="/path/to/bootstrapValidator.min.css"/>
<script type="text/javascript" src="/path/to/jquery/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="/path/to/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/path/to/bootstrapValidator.min.js"></script>Call the plugin to validate the form as following:
$(document).ready(function() {
$(<form Selector>).bootstrapValidator({
// The default error message for all fields
// You can specify the error message for any fields
message: ...,
// The submit buttons selector
// These buttons will be disabled when the form input are invalid
submitButtons: ...,
// The fields which need to be validated
fields: {
...
// The field name
<fieldName>: {
// The default error message for this field
message: ...,
// Array of validators
validators: {
...
<validatorName>: <validatorOptions>
...
}
}
...
}
});
});The <validatorName> can be the name of the built-in validator which are described in the Validators section
Below is the list of built-in validators sorted in alphabetical order:
| Validator name | Description |
|---|---|
| between | Check if the input value is between (strictly or not) two given numbers |
| digits | Return true if the value contains only digits |
| emailAddress | Validate an email address |
| greaterThan | Return true if the value is greater than or equals to given number |
| hexColor | Validate a hex color |
| identical | Check if the value is the same as one of particular field |
| lessThan | Return true if the value is less than or equals to given number |
| notEmpty | Check if the value is empty |
| regexp | Check if the value matches given Javascript regular expression |
| remote | Perform remote checking via Ajax request |
| stringLength | Validate the length of a string |
| uri | Validate an URL address |
| usZipCode | Validate a US zip code |
The validator options are described in the following section:
| Option name | Default | Description |
|---|---|---|
| message | n/a | The error message |
| min | n/a | The lower value in the range. This option is required |
| max | n/a | The upper value in the range. This option is required |
| inclusive | true | Can be true or false. If true, the input value must be in the range strictly |
| Option name | Default | Description |
|---|---|---|
| message | n/a | The error message |
| value | n/a | The number to make a comparison to. This option is required |
| inclusive | n/a | Can be true or false |
| If true, the input value must be greater than the comparison one | ||
| If false, the input value must be greater than or equal to the comparison one |
| Option name | Default | Description |
|---|---|---|
| message | n/a | The error message |
| field | n/a | The name of field that will be used to compare with current one. This option is required |
| Option name | Default | Description |
|---|---|---|
| message | n/a | The error message |
| value | n/a | The number to make a comparison to. This option is required |
| inclusive | n/a | Can be true or false |
| If true, the input value must be less than the comparison one | ||
| If false, the input value must be less than or equal to the comparison one |
| Option name | Default | Description |
|---|---|---|
| message | n/a | The error message |
| regexp | n/a | The Javascript regular expression. This option is required |
| Option name | Default | Description |
|---|---|---|
| message | n/a | The error message |
| url | n/a | The remote URL. |
| The remote URL must response an encoded JSON of array containing the 'valid' key | ||
| This option is required |
| Option name | Default | Description |
|---|---|---|
| message | n/a | The error message |
| min | n/a | The minimum length |
| max | n/a | The maximum length. One of 'min', 'max' options is required |
BootstrapValidator uses grunt to simplify building process.
From the BootstrapValidator root directory, execute the following commands to install the dependent packages (the administrator permission might be required):
$ npm install grunt --save-dev
$ npm install grunt-contrib-concat --save-dev
$ npm install grunt-contrib-copy --save-dev
$ npm install grunt-contrib-cssmin --save-dev
$ npm install grunt-contrib-uglify --save-dev
$ npm install grunt-contrib-watch --save-devThen, uses grunt to build:
$ gruntIf you want grunt to generate scripts whenever the original scripts (located in src) change, use the following command:
$ grunt watchThe generated scripts (including source and compressed versions) are placed inside the dist directory.
Look at the Change Log
Nguyen Huu Phuoc ([Email](mailto: [email protected]) / Twitter / Github)
Big thanks to the contributors:
- Vu Minh Khang ([Email](mailto: [email protected]) / Github)
Copyright (c) 2013 Nguyen Huu Phuoc
BootstrapValidator is licensed under the MIT license.