New Features
- Add STATUS_IGNORED status. The field will be ignored for the current validation if the validator returns null/undefined
Improvements
- #44: date validator supports dot (.) separator for European countries
- #62: Allow to use callback for field's excluded option
Bug Fixes
- #47: Spanish VAT validator doesn't work with some examples
- #48: Override the options when adding field
- #50: The Brazilian Id (CPF) number must have 11 digits
- The updateMessage() method must return the plugin instance for chaining
- When calling resetField(true) and resetForm(true) methods, the field need be reset value before updating the status
Document
- #38: Add Loading and saving data in a modal example
- #43: Add Playing with Bootstrap Combobox example
- #45: Update the Showing card icon example
- #49: Add Switching validators on the same field example
- #54: Add Playing with geocomplete example
- Add Conditional validation example
- Fix the Clearing field when clicking the icon example
- Update the iCheck example to support mobile browsers
New Features
- #467: Add
dataType
,crossDomain
,validKey
options for remote validator.
It's possible to use remote validator to connect to external validator API, such as MailGun (#1315)
- #940: Add
declarative
option to support big form - #1328, #1330: Add Netherlands phone validator, thanks to @HendrikSwBase
- #1347: Add Bulgarian zip code validator, thanks to @Izopi4a
- #1350: Add Bulgarian phone number validator, thanks to @Izopi4a
- #1355: Add Polish zip code and id validators, thanks to @tjagusz
- #1357: Support custom framework
Improvements
- #1327: remote validator fails if Ajax request fails
- #1427: Update Netherlands phone number validator, thanks to @DiederikLascaris
- Add plugin instance to the 3rd parameter of transformer callback
- Add Grunt task that runs the jasmine test suites
Bug Fixes
This version fixed the isValid()
method which should return null
when there is not validated or being validated field.
It also solves the issues where the submit button is disabled even when the form is valid.
- #962, #1318: remote validator and
isValid()
combined do not work - #1160: Submit button is disabled
- #1171: Submit button being disabled
- #1220: Can only submit form after changing a value
- #1221, #1344: Remote validation trigger
err.form.fv
- #1394: Submit incorrectly enabled even though form has errors
Other issues are fixed in this version:
- #1107, #1279, #1280, #1419: Show the
validating
icon when the field is being validated - #1282: Reset checkbox when calling resetForm() method
- #1320: Fix Slovakia phone number validator
- #1343, #1369: Fix the issue where custom validator doesn't provide default message
- #1379: Don't continue if there is no validators attached to fields
- #1387: transformer option doesn't work with notEmpty validator
- #1389: Fix
isValidContainer()
andvalidateContainer()
methods to support fields with the same name
Document
- #673: Update emailAddress validator document
- #688: Add a notice when using FontAwesome icon
- #973, #1021, #1346: 3 ways to improve performance when using remote validator
- #1098, #1118, #1325: Add Playing with Fuel UX Wizard example
- #1109, #1326: Add Playing with Typehead example
- #1112: Support thousand separator
- #1124, #1329: Fix CKEditor example on Firefox
- #1205: Add Playing with Bootstrap Material Design example
- #1308: Update Showing card icon example
- #1313: Add Adding warning validation state example
- #1315: Add Using Mailgun API to validate email address example
- #1333: Update Enabling the submit button example
- #1378: Add Validating multiple inputs as one example
- #1388: Add Field value is changed programmatically example
- #1390: Fix the isValid() method document
- #1397: Add Updating validator options example
- #1423: Update the UIKit icon usage
- formvalidation/formvalidation.io#11: Fix the issue in Settings Structure section, thanks to @DiederikLascaris
- formvalidation/support#29: Add Playing with jQuery UI Datepicker example
- formvalidation/support#33: Add Playing with Flat UI example
- formvalidation/support#37: Add Showing all messages when using callback validator example
Language Packages
- #1381: Update Slovak language package, thanks to @PatrikGallik
- #1400: Update Belgian Dutch language package, thanks to @jdt
- #1432: Fix some typos in the Hungarian translation, thanks to @blackfyre
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
- #1212: Support Pure 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 - Remove tab behavior from base class
Add-ons
- #1116: Showing only one message each time
- #1126: Required icon
- #1132: Google reCAPTCHA add-on
- multilingual add-on
Improvements
- #883: Look for the field inside form first when using selector, thanks to @drebrez
- #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
- The
isValidContainer()
method should returnnull
if the container consists of at least one field which is not validated yet or being validated
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 - #1292: Fix bug of US phone number validator
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
- #1321: Add Basque language package, thanks to @xabikip
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
- #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, #922: 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: {
...
}
}
}
});
- #136: Support multiple elements with the same name
<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
- #29: Upgrade Bootstrap to v3.0.2
- #30: Hide the error block containers before validating
- #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