Change Log
v0.5.3 (not released yet)
New Features
- #807, #821: Add
min, max options for the date validator, thanks to @Arkni
- #822: Add color validator, thanks to @emilchristensen
- #844, #874: The stringLength validator adds option to evaluate length in UTF-8 bytes, thanks to @thx2001r
- #960, #1052: Add
trim option for the stringLength validator
- #1001: Add
minFiles, maxFiles, minTotalSize, maxTotalSize options for the file validator, thanks to @morrizon
- #1008: Add France postal code validator, thanks to @jazzzz
- #1010: Add Ireland postal code validator, thanks to @zmira
- #1018: Add German phone number and postal code validators, thanks to @jhadenfeldt
- #1022: Add Portugal postal code validator, thanks to @zmira
- #1033, #1043, #1068: Add
autoFocus option
- #1072: Add Austria and Switzerland postal code validators, thanks to @thomaslhotta
Improvements
- #823: The hexColor validator only accepts 6 hex character values when using HTML 5
type='color' attribute
- #864: Comma separator handling in greaterThan, lessThan validators, thanks to @mgibas
- #999, #1048: Replace ',' with '.' to validate decimal numbers correct, thanks to @johanronn77
- #1002: Put tooltip/popover on bottom if there is not enough space on top, thanks to @jazzzz
- #1015: The remote validator allows to set
data options via HTML attributes, thanks to @jazzzz
- #1017: Enable validator when setting
data-bv-validatorname="data-bv-validatorname", thanks to @jazzzz
- #1026: Requires jQuery 1.9.1 or higher
Bug Fixes
- #343, #481, #1045: Fix double submit with defered validators, thanks to @jazzzz
- #933, #959, #1047: Tooltip/popover isn't destroyed when the field is valid
- #991: The field is validated only one time when setting
trigger: 'blur', container: 'tooltip'
- #1014: Fix isValidField() and validateField() methods for fields without validators, thanks to @jazzzz
- #1050: Fix the issue when using multiple fields with same name, the tooltip of the last element is always shown
- #1055, #1063: The error.field.bv event isn't triggered if verbose is set to false, thanks to @shineability
- #1057, #1063: The verbose option for field doesn't override the form level, thanks to @shineability
Document
- #848: Update the stringLength document, thanks to @Relequestual
- #885: Add a notification about setting identical validator for both fields
- #912: Add Using language package example
- #920, #929, #936: Update the Changing the tooltip, popover's position example, thanks to @Arkni
- #938: Add time validator example
- #979: Add Rails usage for stringLength validator
- #1006: Fix the order of parameters for enableFieldValidators() method, thanks to @mchrapka
- #1009: Fix mixed data/delay in remote doc, thanks to @jazzzz
- #1019: Updated docs for added German postal code and phone number validators, thanks to @jhadenfeldt
- #1038: Fix Changing tooltip, popover's position example link, thanks to @Arkni
Language Packages
- #827: Update Dutch language package, thanks to @JvanderHeide
- #829: Update Swedish language package, thanks to @ulsa
- #834: Update Ukrainian and Russian language packages, thanks to @oleg-voloshyn
- #835: Update Belgium (French) language package, thanks to @neilime
- #836: Update French language package, thanks to @neilime
- #837: Update Bulgarian language package, thanks to @mraiur
- #846: Update simplified Chinese language package, thanks to @shamiao
- #849: Update Serbian language package, thanks to @markocrni
- #850, #851: Update Danish language package, thanks to @Djarnis
- #869: Update Polish language package, thanks to @grzesiek
- #870: Update Traditional Chinese language package, thanks to @tureki
- #871: Update Czech language package, thanks to @cuchac
- #872: Update Indonesian language package, thanks to @egig
- #879: Update Romanian language package, thanks to @filipac
- #880: Update Belgium (Dutch) language package, thanks to @dokterpasta
- #881: Update Italian language package, thanks to @maramazza
- #882: Update Spanish language package, thanks to @vadail
- #891: Update Portuguese (Brazil) language package, thanks to @dgmike
- #893: Fix country name of Dominican Republic, thanks to @sventech
- #900: Update Persian (Farsi) language package, thanks to @i0
- #903: Update Hungarian language package, thanks to @blackfyre
- #910: Update Greek language package, thanks to @pRieStaKos
- #913: Update Thai language package, thanks to @figgaro
- #915: Update Turkish language package, thanks to @CeRBeR666
- #961: Update Chilean Spanish language package, thanks to @marceloampuerop6
- #967: Add Hebrew language package, thanks to @yakidahan
- #974: Add Albanian language package, thanks to @desaretiuss
- #1025: Fix French emailAddress message, thanks to @jazzzz
- #1051: Add Portuguese language package, thanks to @rtbfreitas
v0.5.2 (2014-09-25)
New Features
- #480: Add
verbose option, thanks to @mbezhanov
- #542, #666: Add blank validator, thanks to @bermo
- #617: Add
init and destroy methods to validator
- #724: Add Venezuelan VAT number (RIF) validator, thanks to @paquitodev
- #739: Add China phone number validator, thanks to @caijh
- #743: Add Venezuela phone number validator, thanks to @paquitodev
- #760: Add Romania phone number validator, thanks to @adrian-dks
- #761: Add Romania postal code validator, thanks to @adrian-dks
- #785: Add Denmark phone number validator, thanks to @emilchristensen
- #787: Add Thailand phone number and ID validator, thanks to @figgaro
- #793, #798: Add Chinese citizen ID validator, thanks to @shamiao
- #802: Add Russia phone number validator, thanks to @cylon-v. #816: Improved by @stepin
- #816: Add Russian postal code validator, thanks to @stepin
- #867: Add Czech and Slovakia phone number and postal code validators, thanks to @cuchac
Changes
- #753: Change the default type of remote validator to GET
Improvements
- #249, #574, #669: Add
delay option to the remote validator, thanks to @q-state
- #345, #454: The different validator allows more than a 2-way comparison, thanks to @AlaskanShade
- #557, #569: The container option can be defined by a callback, thanks to @mattrick
- #570: Use CSS classes instead of inline styling to fix icons with
input-group, thanks to @dlcrush
- #578, #813: The stringLength validator supports HTML 5
minlength attribute, thanks to @emilchristensen
- #675: The emailAddress validator accepts multiple email addresses, thanks to @kenny-evitt
- #716, #765: Reuse data returned by callback, remote, custom validators
- #734: The uri validator adds support for custom protocol, thanks to @bcamarneiro
- #737: Support VAT number without prefixing by country code
- #754: Support latest Bootstrap when using tooltip/popover to show the message
- #783: Improve behaviour of the different validator
- #792: Add "BootstrapValidator's JavaScript requires jQuery" warning, thanks to @Arkni
- #803: Add
minSize option for the file validator, thanks to @Arkni
- #824: Add phone number validator test suite
Bug Fixes
- #611, #703: Tabs get red even form is valid
- #612, #740, #741: Fix the emailAddress issue which email@server is not valid email address, thanks to @kromit
- #687, #711: Keep disabled validators VALID, thanks to @talberti
- #725: Fix the issue when adding field which does not exist but is already set in "fields" option
- #732: Fix the issue when removing the radio or checkbox field
- #746: The form is still submitted when clicking on submit button which is set
onclick="return false;"
- #758: Using notEmpty validator with
type="number"
- #759, #764: The tooltip/popover isn't shown if there is disabled validator.
The tooltip/popover is shown automatically when the field gets the focus, thanks to @leedorian
- #797, #799: Can't validate ipv4 and ipv6 at the same time. Add ip validator test suite, thanks to @Arkni
- #816: Fix Russian VAT number validator, thanks to @stepin
- #832: The form won't be validated if the submit button contains a HTML tag
Document
Language Packages
- #706: Japanese language package, thanks to @tsuyoshifujii
- #712: Swedish language package, thanks to @ulsa
- #727: Belgium (French) language package, thanks to @neilime
- #729: Persian (Farsi) language package, thanks to @i0
- #779: Romanian language package, thanks to @filipac
- #787: Thai language package, thanks to @figgaro
- #788: Fully re-translated Simplified Chinese language package, thanks to @shamiao
- #795: Re-translated traditional Chinese language package, thanks to @tureki
- #802: Russian language package, thanks to @cylon-v. #816: Improved by @stepin
- #806: Ukrainian language package, thanks to @oleg-voloshyn
- #840: Serbian language package, thanks to @markocrni
- #856: Norwegian language package, thanks to @trondulseth
- #868: Indonesian language package, thanks to @egig
v0.5.1 (2014-08-22)
New Features
- #218, #531: Add meid validator, thanks to @troymccabe
- #267, #532: Add imo validator, thanks to @troymccabe
- #510, #646: Add French phone number validator, thanks to @dlucazeau
- #536: Add Spanish phone number validator, thanks to @vadail
- #519: Add Iceland VAT number validator, thanks to @evilchili
- #620, #621: Add Pakistan phone number validator, thanks to @abuzer
- #630, #640: Add event name options to avoid window.onerror being invoked by jQuery, thanks to @roryprimrose. Thanks to @stephengreentree for creating the test suite (#657)
- #637: Add South African VAT number validator, thanks to @evilchili
- #638, #647: Add Brazilian phone number and postal code validator, thanks to @fhferreira
- #643: Add zipCode and phone number validators for Morocco, thanks to @Arkni
- #650: Add Brazilian VAT number validator, thanks to @fhferreira
Improvements
- #502: Allowing sites without TLD to pass URI validation, thanks to @troymccabe
- #549, #600: Change the CSS/JS path in
demo/remote.html and demo/message.html, thanks to @leegtang, @Arkni
- #604: Fix the
demo/date.html and demo/tab.html examples, thanks to @Arkni
- #609: Add content-type header for
demo/remote.php, thanks to @etorres
- #661: Add
headers option to the remote validator, thanks to @ryan2049
- #664: Fix the feedback icon position for Bootstrap 3.2
- #683: Force the format option to be
YYYY-MM-DD when using <input type="date" />
- #698: Ignore type checking if the file type is empty
Bug Fixes
- #284, #294, #441, #516, #580: The HTML 5
<input type="number" /> input allows to input non-digits characters
- #548: Fix the issue when using different validator to compare with not existing field
- #550, #551: Cannot validate against both ipv4 and ipv6 at the same time, thanks to @beeglebug
- #588: Don't use min, max attributes (greaterThan, lessThan validators) for
<input type="date" />
- #665: The submitButtons option doesn't work correctly
- #672: The zipCode validator throw an exception when passing not supported country code
- #681: Fix the date validator issue where one of date/month/year or hours/minutes/seconds is prefixed by zero
- #692: The remote validator can't set the type option via HTML attribute
- #700: The between, greaterThan, lessThan validators accept param which isn't number
Language Packages
- #400: Italian language package, thanks to @maramazza
- #503: French language package, thanks to @dlucazeau
- #505: Czech language package, thanks to @AdwinTrave
- #507: Polish language package, thanks to @grzesiek. #624: Typos fixed by @lukaszbanasiak
- #517: Belgium (Dutch) language package, thanks to @dokterpasta
- #527: Bulgarian language package, thanks to @mraiur
- #534: Turkish language package, thanks to @CeRBeR666
- #536: Spanish language package, thanks to @vadail
- #544: Greek language package, thanks to @pRieStaKos
- #545: Portuguese (Brazil) language package, thanks to @marcuscarvalho6
- #598: Danish language package, thanks to @Djarnis
- #674, #677: Dutch language package, thanks to @jvanderheide
- #679: Add Arabic language package, thanks to @Arkni
v0.5.0 (2014-07-14)
New Features
- #2, #387: Provide the default error messages
- #93, #385: Support translating error messages. Provide the Vietnamese language file
- #121: Add events for form validate successfully or not
- #125: Support dynamic fields
- #130: Add
addField() and removeField() methods for managing dynamic fields, thanks to @jcnmulio
- #164: Add
container option for indicating the element showing all errors
- #175: Showing errors in tooltip or popover
- #195: Add events for field validation
- #211, #235: Add new method
getInvalidFields() that returns all invalid fields
- #275: Add
destroy() method
- #282, #347: Use error message that is returned from callback, remote validators
- Add
status.field.bv event which is triggered after updating the field status. It can be used to solve #300, #301
- #316: Add
isValidContainer(container) method
- #320: Add
separator option to the date validator
- #323: Add
isValidField(field) method
- #324: Add
success.validator.bv and error.validator.bv events triggered after a validator completes
- #332: Add UK phone number support for the phone validator, thanks to @aca02djr
- #336: Add
$field instance to the callback validator
- #356: Add
group option
- #374: Add Singapore postal code to the zipCode validator, thanks to @thisisclement
- #406: Add
revalidateField(field) method
- #433: Add
resetField(field, resetValue) method
- #434: Add
updateMessage(field, validator, message) method
Changes
- #42: Remove the submit button from
submitHandler(). You can use new getSubmitButton() method to get the clicked submit button
- #109: Remove the
setLiveMode() method
$.fn.bootstrapValidator.helpers renames mod_11_10 to mod11And10, mod_37_36 to mod37And36
- Remove
submitHandler() option. Use success.form.bv event instead:
v0.4.5 and earlier versions
$(form).bootstrapValidator({
submitHandler: function(form, validator, submitButton) {
...
}
});
v0.5.0
Using success.form.bv event:
$(form)
.bootstrapValidator(options)
.on('success.form.bv', function(e) {
// Prevent form submission
e.preventDefault();
var $form = $(e.target),
validator = $form.data('bootstrapValidator'),
submitButton = validator.getSubmitButton();
// Do whatever you want here ...
});
Improvements
- #244: Only enable the submit buttons if all fields are valid, thanks to @smeagol74
- #262: Improve the
updateStatus() method. The plugin now doesn't show the errors, feedback icons of given field if there are uncompleted validators
- #274: Fix feedback icons in
input-group, thanks to @tiagofontella
- #287, #291: Only send the submit button which is clicked. It's an enhancement for #238
- #297: Disable feedback icons for particular fields
- #348: The uri validator now provides an option to support private/local network address
- #364: Clicking the feedback icon also effect to the checkbox, radio fields
- #366: Don't change the enable setting when the new one is the same
- #371: Add H character to the Canadian postcode, thanks to @jzhang6
- #382: Add JSHint to Grunt build
- #388: Allow to override the default options. Useful for using multiple forms in the same page
- #393: The remote validator adds support for dynamic
url and method type (GET/POST), thanks to @ericnakagawa
- #416, #448: Add
updateOption() method for updating the particular validator option, thanks to @AlaskanShade
- #420: Enable/disable particular validator
- #422: Exclude particular field by
excluded option or data-bv-excluded attribute
- #426: Add test suite
- #430: between, greaterThan, lessThan add support for comparing to other field, return value of a callback function
- #431: Add built time to the build file
- #432: Define the callback via
data-bv-callback-callback attribute
- #447: zipCode validator allow to set the country code via another field or callback, thanks to @AlaskanShade
- #451: Validation of numeric fields with decimal steps, thanks to @Azuka
- #456: Adjust the feedback icon position for
.input-group element
- #465: Support dynamic message
Bug Fixes
- #288: Fix date validator issue on IE8
- #292: Fix identical validator issue with not clearing
has-error class, thanks to @alavers
- #305, #306, #307: Fix
inclusive option in the between, greaterThan and lessThan validators, thanks to @johanronn77
- #310, #475: The date validator still return valid if the value doesn't contain digits
- #311: file validation extension is case sensitive
- #312: Fix broacast typo in the uri validator, thanks to @mrpollo
- #313: Fix the file validator issue on IE 8
- #314: The creditCard validator doesn't work on IE 8
- #315: The cvv validator doesn't work on IE 8
- #325: The
threshold option doesn't work on IE 8
- #358: The zipCode validator doesn't work for Canadian zip code
- #375: Don't submit form when the callback validator completes and the submit button isn't clicked
- #377: The id, vat validators should return
false if the country code is not supported
- #389: When using multiple forms with HTML attributes on the same page, the plugin options will be the same as the last one
- #401: stringLength validator allows spaces after max length
- #411: Fix the ean validator when the check digit is zero, thanks to @manish-in-java
- #417: IPv6 validator doesn't work
- #425: Custom trigger event is ignored by field validators
- #447: Skip the
_isExcluded() when initializing the form. This fixes #269, #273. Thanks to @AlaskanShade
- #483, #487: Added the letters 'W' and 'Z' in the second and third letter list for Canada postal code, thanks to @jzhang6
- #492, #493: Fixed Chilean ID (RUT/RUN) finished in 'K' or 'k', thanks to @marceloampuerop6
Document
Language Packages
v0.4.5 (2014-05-15)
v0.4.4 (2014-05-05)
v0.4.3 (2014-04-26)
v0.4.2 (2014-04-19)
v0.4.1 (2014-04-12)
- #144, #158: Fixed an issue that the custom submit handler is not fired from the second time
- #106: Prevent the
validate() method from submit the form automatically. So we can call validate() to validate the form
- #131: Doesn't trigger validation on the first focus
- #145: The row state is now only marked as success if all fields on it are valid
- #157: Added support for element outside of form using the
selector option
- #159, #163: User doesn't need to submit the form twice when remote validator complete, thanks to @jswale
- #162: Fix errors in IE 8, thanks to @adgrafik
- #166, #167: The phone validator now also checks the length of US phone number, thanks to @gercheq
v0.4.0 (2014-04-03)
Form attributes:
<form
data-bv-message="This value is not valid"
data-bv-feedbackicons-valid="glyphicon glyphicon-ok"
data-bv-feedbackicons-invalid="glyphicon glyphicon-remove"
data-bv-feedbackicons-validating="glyphicon glyphicon-refresh"
>
Field attributes:
<input type="text" class="form-control" name="username"
data-bv-message="The username is not valid"
data-bv-notempty data-bv-notempty-message="The username is required and cannot be empty"
data-bv-stringlength="true" data-bv-stringlength-min="6" data-bv-stringlength-max="30" data-bv-stringlength-message="The username must be more than 6 and less than 30 characters long"
data-bv-different="true" data-bv-different-field="password" data-bv-different-message="The username and password cannot be the same as each other"
data-bv-remote="true" data-bv-remote-url="remote.php" data-bv-remote-message="The username is not available"
/>
It's possible to use data-bv-trigger attribute:
<form data-bv-trigger="keyup">
<input type="text" class="form-control" name="firstName" placeholder="First name"
data-bv-trigger="keyup" />
...
<input type="text" class="form-control" name="lastName" placeholder="First name"
data-bv-trigger="blur" />
</form>
or trigger option:
$(form).bootstrapValidator({
trigger: 'blur', // Set for all fields
fields: {
firstName: {
trigger: 'keyup', // Custom for each field. Can be 'event1 event2 event3'
validators: {
...
}
},
lastName: {
trigger: 'blur',
validators: {
...
}
}
}
});
<div class="form-group">
<input class="form-control" type="text" name="surveyAnswer[]" />
</div>
<div class="form-group">
<input class="form-control" type="text" name="surveyAnswer[]" />
</div>
<div class="form-group">
<input class="form-control" type="text" name="surveyAnswer[]" />
</div>
v0.3.3 (2014-03-27)
v0.3.2 (2014-03-21)
v0.3.1 (2014-03-17)
v0.3.0 (2014-03-10)
- #44: Rewrite entirely using Deferred
- #26, #27, #67: Add choice validator, thanks to @emilchristensen
- #31: The remote validator supports dynamic data
- #36, #58: Add method to validate form manually
- #41: Disable submit button on successful form submit
- #42: Add submit button to
submitHandler() parameter
- #48: Add optional feedback icons
- #64: Support Danish zip code, thanks to @emilchristensen
- #65: Support Sweden zip code, thanks to @emilchristensen
- #70: Support custom grid columns
- #71: Show all errors
- #76: Add
resetForm() method
- #50: Don't validate disabled element
- #51: Submit after submit doesn't work
- #53, #54: Fix notEmpty validator for radios and checkboxes, thanks to @kristian-puccio
- #55: The plugin doesn't validate other fields if the remote validator returns
true
- #62: The callback validator passes wrong parameter, thanks to @iplus
- #59: Add example for Rail field convention, thanks to @narutosanjiv
- #60: Update the installation guide, thanks to @vaz
- #73: Describe which version should be included in the Usage section
v0.2.2 (2014-01-07)
- #15: Focus to the first invalid element
- #31: remote validator: Allow to set additional data to remote URL
- #32, #43, #47: Only validate not empty field
- #39: Validate existing fields only
- #34: Avoid from calling form submit recursively
- #40: Fix the issue when the form label doesn't have class
v0.2.1 (2013-11-08)
- #29: Upgrade Bootstrap to v3.0.2
- #30: Hide the error block containers before validating
v0.2.0 (2013-10-21)
v0.1.1 (2013-10-17)
- Added
submitButtons option
- #16: Added disabling client side validation in HTML 5
- #17: Added support for default Bootstrap form without labels
- #19: Added support for select box validator
v0.1.0 (2013-10-14)
- First release
- Provide various validators: