New Features
- #708, #899: Add
setLocale()
andgetLocale()
methods to support multiple languages - #718: Add
validateContainer()
method - #744: Add
transformer
option, allowing to hook the value of field before validating - #1131: Support add-on
- #1140: Add UAE phone number validator, thanks to @s-a-y
- #1153: Add EIN validator, thanks to @joshuachestang
- #1165: Add BIC (ISO 9362) validator, thanks to @thomaslhotta
- #1185: Add
composer.json
file, thanks to @rbnvrw - #1189, #1194: Add
err
,icon
,row
options - #1204: Support Zurb Foundation framework
- #1207: Add Spanish postal code validator, thanks to @ethernet-zero
- #1208: Support Spanish CIF validator, thanks to @ethernet-zero
- #1210: Support UI Kit framework
- #1211: Support Semantic UI framework
- #1227, #1229: Add India phone number validator, thanks to @waveking
- #1230, #1231: Add India postal code validator, thanks to @waveking
Changes
- #1167: Remove hexColor validator. Use color validator instead
- #1272: Change event
error.x.x
toerr.x.x
to avoidwindow.onerror
being invoked by jQuery
Add-ons
- #1116: Showing only one message each time
- #1126: Required icon
- #1132: Google reCAPTCHA add-on
- multilingual add-on
Improvements
- #908, #1156: Add option to set optional protocol in uri validator, thanks to @krecik
- #914, #1035, #1163: Improve identical validator, thanks to @jazzzz
- #1037: Show the credit card icon based on its type
- #1083, #1092: Showing tooltip/popover when moving over or clicking the feedback icon (Bootstrap 3.3.0), thanks to @Arkni
- #1137: Use
jQuery
instead ofwindow.jQuery
- #1154: Allow to reuse data which is returned by the validator
- #1177: Don't need to set the different validator for both fields
- #1186, #1188: Improve the CPF validator, thanks to @igorescobar
- #1197: Add sample data for CPF validator, thanks to @dgmike
- #1207: Improve Spanish phone validator, thanks to @ethernet-zero
- #1218: Improve Slovenian vat number validator, thanks to @Glavic
- #1224: Improve tooltip style when working with Semantic UI form, thanks to @Arkni
- #1226: Fix destroying Semantic UI popup, thanks to @Arkni
- #1239: Fix typo in UIKit class, thanks to @Arkni
- #1252: Validators return true for not supported countries
- #1255, #1258: Support to use a Date object as value for
min
andmax
options, thanks to @Arkni - #1261: Improve cvv validator
- #1268: uri validator gets slower if more than 25 characters
Bug Fixes
- #1101: The cusip validator doesn't work
- #1102: Fix the date validator issue where accepts
2014-11-1 23:
as validYYYY-MM-DD h:m
date - #1105: The color validator doesn't provide
html5Attributes
mapping - #1125, #1136: Update Brazil ID validator to support working with Mask plugin, thanks to @jonasesteves
- #1243: Fix the icon without label class
- #1267: identical validator allows to compare with any input
- #1274: Fix
validateContainer()
to use map value instead of key, thanks to @jasonblalock - #1279, #1280: Show the
validating
icon when the field is being validated, thanks to @tmaly1980
Document
- #800: Add Using uri and regexp validators example
- #825: Add Bootstrap Datepicker example
- #919, #1114: Add Google reCAPTCHA example
- #941: Add Clearing field when clicking the icon example
- #948, #978, #1032, #1146, #1162: Add the Is a@b valid email address section
- #1034: Add Only enable the submit button if all fields are valid example
- #1078, #1104: Update the Enabling the submit button all the time example
- #1106: Add example to the phone validator
- #1122: Add third parameter to
callback
method of callback validator, thanks to @Arkni - #1128: Add link to the Examples from the homepage
- #1139: Add sample United Arab Emirates phone numbers, thanks to @s-a-y
- #1143, #1176: Add Form is submitted twice example
- #1172: Add Requiring at least one field example
- #1174: Add Pickadate example
- #1187: Add sample Brazil ID (CPF) numbers, thanks to @igorescobar
- #1233: Add sample India postal code numbers, thanks to @waveking
Language Packages
- #1150: Add Catalan language package, thanks to @ArnauAregall
- #1216, #1248: Add Slovak language package, thanks to @budik21
- #1217, #1247: Update Czech language package, thanks to @budik21
- #1225: Add Finnish language package, thanks to @traone
- #1246: Add Hindi language package, thanks to @gladiatorAsh
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
- #937, #1001: Add
minFiles
,maxFiles
,minTotalSize
,maxTotalSize
options for the file validator, thanks to @morrizon - #960, #1052: Add
trim
option for the stringLength validator - #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
New Features
- #480: Add
verbose
option, thanks to @mbezhanov - #542, #666: Add blank validator, thanks to @bermo
- #617: Add
init
anddestroy
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
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
- #709, #715: Add Bootstrap Select and Select2 examples, thanks to @Arkni
- #855, #858: Add TinyMCE example, thanks to @Arkni
- #859, #862, #865: Add Changing tooltip/popover position example, thanks to @Arkni
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
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
anddemo/message.html
, thanks to @leegtang, @Arkni - #604: Fix the
demo/date.html
anddemo/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
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()
andremoveField()
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
anderror.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 newgetSubmitButton()
method to get the clicked submit button - #109: Remove the
setLiveMode()
method FormValidator.Helper
renamesmod_11_10
tomod11And10
,mod_37_36
tomod37And36
- Remove
submitHandler()
option. Usesuccess.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 ordata-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
- #259: Typo "Support almost Bootstrap forms", thanks to @lloydde
- #261: English fix to 'amazing contributors' section, thanks to @lloydde
- #278: Update the choice validator document, thanks to @MrC0mm0n
- #303: Fix typo in remote validator document, thanks to @MartinDevillers
- #334: No ID is specified on the form object for registration, thanks to @jjshoe
- #423: Add default column to settings table, thanks to @MartinDevillers
- #452: Update 'United State' to 'United States', thanks to @mike1e
Language Packages
- #396: German language package, thanks to @logemann
- #474: Hungarian language package, thanks to @blackfyre
- #478: Simplified and traditional Chinese language package, thanks to @tureki
- #494: Chilean Spanish language package, thanks to @marceloampuerop6
- Add
FormValidator.Helper.date
for validating a date, re-used in date, id, vat validators - #233: Add
threshold
option - #232: Add id validator
- #242: Add
separator
option to the numeric validator - #248: Add isin (International Securities Identification Number) validator
- #250: Add rtn (Routing transit number) validator
- #251: Add cusip (North American Securities) validator
- #252: Add sedol (Stock Exchange Daily Official List) validator
- The zipCode validator adds support for Italian, Dutch postcodes
- #245: The cvv validator should support spaces in credit card, thanks to @evilchili
- Change default
submitButtons
to[type="submit"]
to supportinput type="submit"
- #226: Fix the conflict issue with MooTools
- #238: The submit buttons are not sent
- #253: The iban validator does not work on IE8
- #257: Plugin method invocation don't work
- Fix the issue that the hidden fields generated by other plugins might not be validated
- When parsing options from HTML attributes, don't add the field which hasn't validators. It improves fixes for #191, #223
- Add
FormValidator.Helper.mod_11_10
method that implements modulus 11, 10 (ISO 7064) algorithm. The helper is then reused in validating German and Croatian VAT numbers - Add
FormValidator.Helper.mod_37_36
method that implements modulus 37, 36 (ISO 7064) algorithm, used in GRid validator - #213: Add EAN (International Article Number) validator
- #214: Add GRId (Global Release Identifier) validator
- #215: Add IMEI (International Mobile Station Equipment Identity) validator
- #216: Add ISMN (International Standard Music Number) validator
- #217: Add ISSN (International Standard Serial Number) validator
- #191, #223: Support using both the
name
attribute andselector
option for field - #206: Indicate success/error tab
- #220: Add UK postcode support for the zipCode validator
- #229: The date validator supports seconds
- #231: Wrong prefix of Laser credit card number
- Add
FormValidator.Helper.luhn
method that implements the Luhn algorithm - #77: Add file validator
- #179: Add vat validator, support 32 countries
- #198, #199: Add Canadian Postal Code support for the zipCode validator, thanks to @Francismori7
- #201: The choice validator supports
select
element - #202: Activate tab containing the first invalid field
- #205: Plugin method invocation
- #207: IE8 error. The field is only validated when its value is changed. It also fixes #153, #193, #197
- #209: The
excluded: ':disabled'
setting does not work on IE 8, thanks to @adgrafik - #210: The isbn validator accepts letters and special characters
- #168: Add siren and siret validators, thanks to @jswale
- #177: Add Vehicle Identification Number (VIN) validator
- #184: Add
excluded
option - #171: The phone validator now supports +1 country code and area code for US phone number, thanks to @tomByrer
- #173: The remote validator allows to override
name
option, thanks to @jswale - #178: Do not validate fields that
enabled
is set tofalse
, thanks to @henningda - #182: Improve zipCode validator, thanks to @gercheq
- #169: Better to say:
{validatorname}
and{validatoroption}
must be lowercase, thanks to @tomByrer
- #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 callvalidate()
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
- #14, #57: Set validator option by using HTML 5 attributes
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"
/>
- Support HTML 5 input types:
HTML 5 attribute | Validator |
---|---|
min="..." |
greaterThan validator |
max="..." |
lessThan validator |
maxlength="..." |
stringLength validator |
pattern="..." |
regexp validator |
required |
notEmpty validator |
type="color" |
hexColor validator |
type="email" |
emailAddress validator |
type="range" |
between validator |
type="url" |
uri validator |
- #74, #103, #122: Set the custom trigger event
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>
- #109: Add
setLiveMode()
method to turn on/off the live validating mode - #114: Add iban validator for validating IBAN (International Bank Account Number)
- #116: Add uuid validator, support UUID v3, v4, v5
- #128: Add numeric validator
- #135: Add integer validator
- #138: Add hex validator
- #139: Add stringCase validator to check a string is lower or upper case
- #137: Register the plugin with jQuery plugins site
- #133: The regexp validator allows to pass a string
- #140: Do not validate hidden (
type="hidden"
) and invisible element, thanks to @easonhan007 disableSubmitButtons()
is now marked as a public API- The first parameter of
updateStatus()
method now accepts the field name only - #126: Submit button remains disabled after calling custom
submitHandler
and the form is valid - #132: The
fields.[fieldName].message
option is not used when showing the error message
- #50: Don't validate disabled element
- #34, #105: Cannot call
form.submit()
insidesubmitHandler
- #77, #117: The notEmpty validator doesn't work on file input
- #120: Handle case where a field is removed after the bootstrap validation, thanks to @patmoore
- #56: Add
selector
option for each field. The field can be defined by CSS validator instead of thename
attribute - #107: Add
container
option for each field to indicate where the error messages are shown - #5: Add ip validator. Support both IPv4 and IPv6
- #6: Add isbn validator, support both ISBN 10 and ISBN 13
- #7: Add step validator
- #95: Add mac validator
- #96: Add base64 validator
- #97: Add cvv validator
- #99, #100: Add phone validator. Support US phone number only, thanks to @gercheq
- #112: creditCard validator now validates both IIN ranges and length
- #4: Add date validator
- #72, #79: Improve
updateStatus()
method to make the plugin play well with another - #80: Add
enabled
option andenableFieldValidators()
method to enable/disable all validators to given field - #90: Add
bower.json
file, thanks to @ikanedo - #3, #92: Support more form controls on the same row
- Remove the
columns
option. Now the plugin works normally no matter how many columns the form uses - #102: The
resetForm
method now only resets fields with validator rules - #82, #84: The error messages aren't shown if the form field doesn't have label
- #89:
submitHandler
or default submission isn't called after remote validation completes
- #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
- #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
- #24: Add
live
option - #20: Add custom submit handler using
submitHandler
option - #9: Add creditCard validator
- #18: Add different validator
- #21: Add callback validator
- #22: Support form that labels are placed in extra small (
col-xs-
), small (col-sm-
), medium (col-md-
) elements - #25: The regexp validator does not work
- 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