UNPKG

formvalidation

Version:

The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks

572 lines (508 loc) 62.7 kB
# Change Log ## v0.6.2 (not released yet) __New Features__ * Add STATUS_IGNORED status. The field will be ignored for the current validation if the validator returns null/undefined __Improvements__ * #44: [date](http://formvalidation.io/validators/date/) validator supports dot (.) separator for European countries * #62: Allow to use callback for field's [excluded](http://formvalidation.io/settings/#field-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](http://formvalidation.io/validators/id/) (CPF) number must have 11 digits * The [updateMessage()](http://formvalidation.io/api/#update-message) method must return the plugin instance for chaining * When calling [resetField(true)](http://formvalidation.io/api/#reset-field) and [resetForm(true)](http://formvalidation.io/api/#reset-form) methods, the field need be reset value before updating the status __Document__ * #38: Add [Loading and saving data in a modal](http://formvalidation.io/examples/loading-saving-data-modal/) example * #43: Add [Playing with Bootstrap Combobox](http://formvalidation.io/examples/bootstrap-combobox/) example * #45: Update the [Showing card icon](http://formvalidation.io/validators/creditCard/#showing-card-icon) example * #49: Add [Switching validators on the same field](http://formvalidation.io/examples/switching-validators-same-field/) example * #54: Add [Playing with geocomplete](http://formvalidation.io/examples/geocomplete/) example * Add [Conditional validation](http://formvalidation.io/examples/conditional-validation/) example * Fix the [Clearing field when clicking the icon](http://formvalidation.io/examples/clearing-field-when-clicking-icon/) example * Update the [iCheck](http://formvalidation.io/examples/icheck/) example to support mobile browsers ## v0.6.1 (2015-02-24) __New Features__ * #467: Add ```dataType```, ```crossDomain```, ```validKey``` options for [remote](http://formvalidation.io/validators/remote/) validator. It's possible to use remote validator to connect to external validator API, such as [MailGun (#1315)](https://github.com/formvalidation/formvalidation/issues/1315) * #940: Add ```declarative``` option to support big form * #1328, #1330: Add Netherlands [phone](http://formvalidation.io/validators/phone/) validator, thanks to [@HendrikSwBase](https://github.com/HendrikSwBase) * #1347: Add Bulgarian [zip code](http://formvalidation.io/validators/zipCode/) validator, thanks to [@Izopi4a](https://github.com/Izopi4a) * #1350: Add Bulgarian [phone number](http://formvalidation.io/validators/phone/) validator, thanks to [@Izopi4a](https://github.com/Izopi4a) * #1355: Add Polish [zip code](http://formvalidation.io/validators/zipCode/) and [id](http://formvalidation.io/validators/id/) validators, thanks to [@tjagusz](https://github.com/tjagusz) * #1357: Support custom framework __Improvements__ * #1327: [remote](http://formvalidation.io/validators/remote/) validator fails if Ajax request fails * #1427: Update Netherlands [phone number](http://formvalidation.io/validators/phone/) validator, thanks to [@DiederikLascaris](https://github.com/DiederikLascaris) * Add plugin instance to the 3rd parameter of [transformer](http://formvalidation.io/settings/#validator-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()](http://formvalidation.io/api/#reset-form) method * #1320: Fix Slovakia [phone number](http://formvalidation.io/validators/phone/) 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](http://formvalidation.io/settings/#validator-transformer) option doesn't work with [notEmpty](http://formvalidation.io/validators/notEmpty/) validator * #1389: Fix ```isValidContainer()``` and ```validateContainer()``` methods to support fields with the same name __Document__ * #673: Update [emailAddress](http://formvalidation.io/validators/emailAddress/) validator document * #688: Add a [notice](http://formvalidation.io/settings/#form-icon) when using FontAwesome icon * #973, #1021, #1346: 3 ways to [improve performance](http://formvalidation.io/validators/remote/#improving-the-performance) when using remote validator * #1098, #1118, #1325: Add [Playing with Fuel UX Wizard](http://formvalidation.io/examples/fuel-ux-wizard/) example * #1109, #1326: Add [Playing with Typehead](http://formvalidation.io/examples/typeahead/) example * #1112: Support thousand separator * #1124, #1329: Fix [CKEditor example](http://formvalidation.io/examples/ckeditor/) on Firefox * #1205: Add [Playing with Bootstrap Material Design](http://formvalidation.io/examples/bootstrap-material-design/) example * #1308: Update [Showing card icon](http://formvalidation.io/validators/creditCard/#showing-card-icon) example * #1313: Add [Adding warning validation state](http://formvalidation.io/examples/adding-warning-validation-state/) example * #1315: Add [Using Mailgun API to validate email address](http://formvalidation.io/examples/using-mailgun-api-validate-email-address/) example * #1333: Update [Enabling the submit button](http://formvalidation.io/examples/enabling-submit-button/) example * #1378: Add [Validating multiple inputs as one](http://formvalidation.io/examples/validating-multiple-inputs-one/) example * #1388: Add [Field value is changed programmatically](http://formvalidation.io/examples/field-value-changed-programmatically/) example * #1390: Fix the [isValid()](http://formvalidation.io/api/#is-valid) method document * #1397: Add [Updating validator options](http://formvalidation.io/examples/updating-validator-options/) example * #1423: Update the [UIKit icon usage](http://formvalidation.io/settings/#form-icon) * formvalidation/formvalidation.io#11: Fix the issue in [Settings Structure](http://formvalidation.io/settings/#settings-structure) section, thanks to [@DiederikLascaris](https://github.com/DiederikLascaris) * formvalidation/support#29: Add [Playing with jQuery UI Datepicker](http://formvalidation.io/examples/jquery-ui-datepicker/) example * formvalidation/support#33: Add [Playing with Flat UI](http://formvalidation.io/examples/flat-ui/) example * formvalidation/support#37: Add [Showing all messages when using callback validator](http://formvalidation.io/validators/callback/#showing-all-messages) example __Language Packages__ * #1381: Update Slovak language package, thanks to [@PatrikGallik](https://github.com/PatrikGallik) * #1400: Update Belgian Dutch language package, thanks to [@jdt](https://github.com/jdt) * #1432: Fix some typos in the Hungarian translation, thanks to [@blackfyre](https://github.com/blackfyre) ## v0.6.0 (2015-01-06) __New Features__ * #708, #899: Add ```setLocale()``` and ```getLocale()``` methods to support multiple languages * #718: Add ```validateContainer()``` method * #744: Add [transformer](http://formvalidation.io/settings/#validator-transformer) option, allowing to hook the value of field before validating * #1131: Support add-on * #1140: Add UAE [phone number](http://formvalidation.io/validators/phone/) validator, thanks to [@s-a-y](https://github.com/s-a-y) * #1153: Add EIN validator, thanks to [@joshuachestang](https://github.com/joshuachestang) * #1165: Add BIC (ISO 9362) validator, thanks to [@thomaslhotta](https://github.com/thomaslhotta) * #1185: Add ```composer.json``` file, thanks to [@rbnvrw](https://github.com/rbnvrw) * #1189, #1194: Add ```err```, ```icon```, ```row``` options * #1204: __Support Zurb Foundation framework__ * #1207: Add Spanish [postal code](http://formvalidation.io/validators/zipCode/) validator, thanks to [@ethernet-zero](https://github.com/ethernet-zero) * #1208: Support Spanish [CIF](http://formvalidation.io/validators/id/) validator, thanks to [@ethernet-zero](https://github.com/ethernet-zero) * #1210: __Support UI Kit framework__ * #1211: __Support Semantic UI framework__ * #1212: __Support Pure framework__ * #1227, #1229: Add India [phone number](http://formvalidation.io/validators/phone/) validator, thanks to [@waveking](https://github.com/waveking) * #1230, #1231: Add India [postal code](http://formvalidation.io/validators/zipCode/) validator, thanks to [@waveking](https://github.com/waveking) __Changes__ * #1167: Remove hexColor validator. Use [color](http://formvalidation.io/validators/color/) validator instead * #1272: Change event ```error.x.x``` to ```err.x.x``` to avoid ```window.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](https://github.com/drebrez) * #908, #1156: Add option to set optional protocol in [uri](http://formvalidation.io/validators/uri/) validator, thanks to [@krecik](https://github.com/krecik) * #914, #1035, #1163: Improve [identical](http://formvalidation.io/validators/identical/) validator, thanks to [@jazzzz](https://github.com/jazzzz) * #1037: Show the credit card icon based on its type * #1083, [#1092](https://github.com/formvalidation/formvalidation/pull/1092/): Showing tooltip/popover when moving over or clicking the feedback icon (Bootstrap 3.3.0), thanks to [@Arkni](https://github.com/Arkni) * #1137: Use ```jQuery``` instead of ```window.jQuery``` * #1154: Allow to reuse data which is returned by the validator * #1177: Don't need to set the [different](http://formvalidation.io/validators/different/) validator for both fields * #1186, #1188: Improve the [CPF](http://formvalidation.io/validators/id/) validator, thanks to [@igorescobar](https://github.com/igorescobar) * #1197: Add sample data for [CPF](http://formvalidation.io/validators/id/) validator, thanks to [@dgmike](https://github.com/dgmike) * #1207: Improve Spanish [phone](http://formvalidation.io/validators/phone/) validator, thanks to [@ethernet-zero](https://github.com/ethernet-zero) * #1218: Improve Slovenian [vat number](http://formvalidation.io/validators/vat/) validator, thanks to [@Glavic](https://github.com/Glavic) * #1224: Improve tooltip style when working with Semantic UI form, thanks to [@Arkni](https://github.com/Arkni) * #1226: Fix destroying Semantic UI popup, thanks to [@Arkni](https://github.com/Arkni) * #1239: Fix typo in UIKit class, thanks to [@Arkni](https://github.com/Arkni) * #1252: Validators return true for not supported countries * #1255, #1258: Support to use a Date object as value for ```min``` and ```max``` options, thanks to [@Arkni](https://github.com/Arkni) * #1261: Improve [cvv](http://formvalidation.io/validators/cvv/) validator * #1268: [uri](http://formvalidation.io/validators/uri/) validator gets slower if more than 25 characters * The ```isValidContainer()``` method should return ```null``` if the container consists of at least one field which is not validated yet or being validated __Bug Fixes__ * #1101: The [cusip](http://formvalidation.io/validators/cusip/) validator doesn't work * #1102: Fix the [date](http://formvalidation.io/validators/date/) validator issue where accepts ```2014-11-1 23:``` as valid ```YYYY-MM-DD h:m``` date * #1105: The [color](http://formvalidation.io/validators/color/) validator doesn't provide ```html5Attributes``` mapping * #1125, #1136: Update Brazil [ID](http://formvalidation.io/validators/id/) validator to support working with Mask plugin, thanks to [@jonasesteves](https://github.com/jonasesteves) * #1243: Fix the icon without label class * #1267: [identical](http://formvalidation.io/validators/identical/) validator allows to compare with any input * #1274: Fix ```validateContainer()``` to use map value instead of key, thanks to [@jasonblalock](https://github.com/jasonblalock) * #1279, #1280: Show the ```validating``` icon when the field is being validated, thanks to [@tmaly1980](https://github.com/tmaly1980) * #1292: Fix bug of US [phone number](http://formvalidation.io/validators/phone/) validator __Document__ * #800: Add [Using uri and regexp validators](http://formvalidation.io/validators/uri/#using-with-regexp-validator) example * #825: Add [Bootstrap Datepicker](http://formvalidation.io/examples/bootstrap-datepicker/) example * #919, #1114: Add [Google reCAPTCHA](http://formvalidation.io/examples/validating-google-recaptcha/) example * #941: Add [Clearing field when clicking the icon](http://formvalidation.io/examples/clearing-field-when-clicking-icon/) example * #948, #978, #1032, #1146, #1162: Add the [Is a@b valid email address](http://formvalidation.io/validators/emailAddress/#is-ab-valid-email-address) section * #1034: Add [Only enable the submit button if all fields are valid](http://formvalidation.io/examples/enabling-submit-button/) example * #1078, #1104: Update the [Enabling the submit button all the time](http://formvalidation.io/examples/enabling-submit-button/) example * #1106: Add example to the [phone](http://formvalidation.io/validators/phone/) validator * #1122: Add third parameter to ```callback``` method of [callback](http://formvalidation.io/validators/callback/) validator, thanks to [@Arkni](https://github.com/Arkni) * #1128: Add link to the [Examples](http://formvalidation.io/examples/) from the [homepage](http://formvalidation.io/#2) * #1139: Add sample [United Arab Emirates phone numbers](http://formvalidation.io/validators/phone/), thanks to [@s-a-y](https://github.com/s-a-y) * #1143, #1176: Add [Form is submitted twice](http://formvalidation.io/examples/form-submit-twice/) example * #1172: Add [Requiring at least one field](http://formvalidation.io/examples/requiring-at-least-one-field/) example * #1174: Add [Pickadate](http://formvalidation.io/examples/pickadate/) example * #1187: Add sample [Brazil ID (CPF) numbers](http://formvalidation.io/validators/id/), thanks to [@igorescobar](https://github.com/igorescobar) * #1233: Add sample [India postal code numbers](http://formvalidation.io/validators/zipCode/), thanks to [@waveking](https://github.com/waveking) __Language Packages__ * #1150: Add Catalan language package, thanks to [@ArnauAregall](https://github.com/ArnauAregall) * #1216, #1248: Add Slovak language package, thanks to [@budik21](https://github.com/budik21) * #1217, #1247: Update Czech language package, thanks to [@budik21](https://github.com/budik21) * #1225: Add Finnish language package, thanks to [@traone](https://github.com/traone) * #1246: Add Hindi language package, thanks to [@gladiatorAsh](https://github.com/gladiatorAsh) * #1321: Add Basque language package, thanks to [@xabikip](https://github.com/xabikip) ## v0.5.3 (2014-11-05) __New Features__ * #807, #821: Add ```min```, ```max``` options for the [date](http://formvalidation.io/validators/date/) validator, thanks to [@Arkni](https://github.com/Arkni) * #822: Add [color](http://formvalidation.io/validators/color/) validator, thanks to [@emilchristensen](https://github.com/emilchristensen) * #844, #874: The [stringLength](http://formvalidation.io/validators/stringLength/) validator adds option to evaluate length in UTF-8 bytes, thanks to [@thx2001r](https://github.com/thx2001r) * #937, #1001: Add ```minFiles```, ```maxFiles```, ```minTotalSize```, ```maxTotalSize``` options for the [file](http://formvalidation.io/validators/file/) validator, thanks to [@morrizon](https://github.com/morrizon) * #960, #1052: Add ```trim``` option for the [stringLength](http://formvalidation.io/validators/stringLength/) validator * #1008: Add France [postal code](http://formvalidation.io/validators/zipCode/) validator, thanks to [@jazzzz](https://github.com/jazzzz) * #1010: Add Ireland [postal code](http://formvalidation.io/validators/zipCode/) validator, thanks to [@zmira](https://github.com/zmira) * #1018: Add German [phone number](http://formvalidation.io/validators/phone/) and [postal code](http://formvalidation.io/validators/zipCode/) validators, thanks to [@jhadenfeldt](https://github.com/jhadenfeldt) * #1022: Add Portugal [postal code](http://formvalidation.io/validators/zipCode/) validator, thanks to [@zmira](https://github.com/zmira) * #1033, #1043, #1068: Add ```autoFocus``` option * #1072: Add Austria and Switzerland [postal code](http://formvalidation.io/validators/zipCode/) validators, thanks to [@thomaslhotta](https://github.com/thomaslhotta) __Improvements__ * #823: The [hexColor](http://formvalidation.io/validators/color/) validator only accepts 6 hex character values when using HTML 5 ```type='color'``` attribute * #864: Comma separator handling in [greaterThan](http://formvalidation.io/validators/greaterThan/), [lessThan](http://formvalidation.io/validators/lessThan/) validators, thanks to [@mgibas](https://github.com/mgibas) * #999, #1048: Replace ',' with '.' to validate decimal numbers correct, thanks to [@johanronn77](https://github.com/johanronn77) * #1002: Put tooltip/popover on bottom if there is not enough space on top, thanks to [@jazzzz](https://github.com/jazzzz) * #1015: The [remote](http://formvalidation.io/validators/remote/) validator allows to set ```data``` options via HTML attributes, thanks to [@jazzzz](https://github.com/jazzzz) * #1017: Enable validator when setting ```data-bv-validatorname="data-bv-validatorname"```, thanks to [@jazzzz](https://github.com/jazzzz) * #1026: Requires jQuery 1.9.1 or higher __Bug Fixes__ * #343, #481, #1045: Fix double submit with defered validators, thanks to [@jazzzz](https://github.com/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()](http://formvalidation.io/api/#is-valid-field) and [validateField()](http://formvalidation.io/api/#validate-field) methods for fields without validators, thanks to [@jazzzz](https://github.com/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](http://formvalidation.io/settings/#event-field) event isn't triggered if verbose is set to false, thanks to [@shineability](https://github.com/shineability) * #1057, #1063: The [verbose](http://formvalidation.io/settings/#field-verbose) option for field doesn't override the form level, thanks to [@shineability](https://github.com/shineability) __Document__ * #848: Update the [stringLength](http://formvalidation.io/validators/stringLength) document, thanks to [@Relequestual](https://github.com/Relequestual) * #885: Add a notification about setting [identical](http://formvalidation.io/validators/identical/) validator for both fields * #912: Add [Using language package](http://formvalidation.io/examples/using-language-package/) example * #920, #929, #936: Update the [Changing the tooltip, popover's position](http://formvalidation.io/examples/tooltip-popover-position/) example, thanks to [@Arkni](https://github.com/Arkni) * #938: Add [time](http://formvalidation.io/validators/regexp/#html-5-example) validator example * #979: Add [Rails usage](http://formvalidation.io/validators/stringLength/#using-with-rails-form) for [stringLength](http://formvalidation.io/validators/stringLength/) validator * #1006: Fix the order of [parameters](http://formvalidation.io/settings/#validator-enabled) for [enableFieldValidators()](http://formvalidation.io/api/#enable-field-validators) method, thanks to [@mchrapka](https://github.com/mchrapka) * #1009: Fix mixed data/delay in [remote](http://formvalidation.io/validators/remote/) doc, thanks to [@jazzzz](https://github.com/jazzzz) * #1019: Updated docs for added German [postal code](http://formvalidation.io/validators/zipCode/) and [phone number](http://formvalidation.io/validators/phone/) validators, thanks to [@jhadenfeldt](https://github.com/jhadenfeldt) * #1038: Fix [Changing tooltip, popover's position](http://formvalidation.io/examples/changing-tooltip-position/) example link, thanks to [@Arkni](https://github.com/Arkni) __Language Packages__ * #827: Update Dutch language package, thanks to [@JvanderHeide](https://github.com/JvanderHeide) * #829: Update Swedish language package, thanks to [@ulsa](https://github.com/ulsa) * #834: Update Ukrainian and Russian language packages, thanks to [@oleg-voloshyn](https://github.com/oleg-voloshyn) * #835: Update Belgium (French) language package, thanks to [@neilime](https://github.com/neilime) * #836: Update French language package, thanks to [@neilime](https://github.com/neilime) * #837: Update Bulgarian language package, thanks to [@mraiur](https://github.com/mraiur) * #846: Update simplified Chinese language package, thanks to [@shamiao](https://github.com/shamiao) * #849: Update Serbian language package, thanks to [@markocrni](https://github.com/markocrni) * #850, #851: Update Danish language package, thanks to [@Djarnis](https://github.com/Djarnis) * #869: Update Polish language package, thanks to [@grzesiek](https://github.com/grzesiek) * #870: Update Traditional Chinese language package, thanks to [@tureki](https://github.com/tureki) * #871: Update Czech language package, thanks to [@cuchac](https://github.com/cuchac) * #872: Update Indonesian language package, thanks to [@egig](https://github.com/egig) * #879: Update Romanian language package, thanks to [@filipac](https://github.com/filipac) * #880: Update Belgium (Dutch) language package, thanks to [@dokterpasta](https://github.com/dokterpasta) * #881: Update Italian language package, thanks to [@maramazza](https://github.com/maramazza) * #882: Update Spanish language package, thanks to [@vadail](https://github.com/vadail) * #891: Update Portuguese (Brazil) language package, thanks to [@dgmike](https://github.com/dgmike) * #893: Fix country name of Dominican Republic, thanks to [@sventech](https://github.com/sventech) * #900: Update Persian (Farsi) language package, thanks to [@i0](https://github.com/i0) * #903: Update Hungarian language package, thanks to [@blackfyre](https://github.com/blackfyre) * #910: Update Greek language package, thanks to [@pRieStaKos](https://github.com/pRieStaKos) * #913: Update Thai language package, thanks to [@figgaro](https://github.com/figgaro) * #915: Update Turkish language package, thanks to [@CeRBeR666](https://github.com/CeRBeR666) * #961: Update Chilean Spanish language package, thanks to [@marceloampuerop6](https://github.com/marceloampuerop6) * #967: Add Hebrew language package, thanks to [@yakidahan](https://github.com/yakidahan) * #974: Add Albanian language package, thanks to [@desaretiuss](https://github.com/desaretiuss) * #1025: Fix French emailAddress message, thanks to [@jazzzz](https://github.com/jazzzz) * #1051: Add Portuguese language package, thanks to [@rtbfreitas](https://github.com/rtbfreitas) ## v0.5.2 (2014-09-25) __New Features__ * #480: Add ```verbose``` option, thanks to [@mbezhanov](https://github.com/mbezhanov) * #542, #666: Add blank validator, thanks to [@bermo](https://github.com/bermo) * #617: Add ```init``` and ```destroy``` methods to validator * #724: Add Venezuelan VAT number (RIF) validator, thanks to [@paquitodev](https://github.com/paquitodev) * #739: Add China phone number validator, thanks to [@caijh](https://github.com/caijh) * #743: Add Venezuela phone number validator, thanks to [@paquitodev](https://github.com/paquitodev) * #760: Add Romania phone number validator, thanks to [@adrian-dks](https://github.com/adrian-dks) * #761: Add Romania postal code validator, thanks to [@adrian-dks](https://github.com/adrian-dks) * #785: Add Denmark phone number validator, thanks to [@emilchristensen](https://github.com/emilchristensen) * #787: Add Thailand phone number and ID validator, thanks to [@figgaro](https://github.com/figgaro) * #793, #798: Add Chinese citizen ID validator, thanks to [@shamiao](https://github.com/shamiao) * #802: Add Russia phone number validator, thanks to [@cylon-v](https://github.com/cylon-v). #816: Improved by [@stepin](https://github.com/stepin) * #816: Add Russian postal code validator, thanks to [@stepin](https://github.com/stepin) * #867: Add Czech and Slovakia phone number and postal code validators, thanks to [@cuchac](https://github.com/cuchac) __Changes__ * #753: Change the default type of [remote](http://formvalidation.io/validators/remote/) validator to GET __Improvements__ * #249, #574, #669: Add ```delay``` option to the [remote](http://formvalidation.io/validators/remote/) validator, thanks to [@q-state](https://github.com/q-state) * #345, #454: The [different](http://formvalidation.io/validators/different/) validator allows more than a 2-way comparison, thanks to [@AlaskanShade](https://github.com/AlaskanShade) * #557, #569: The [container](http://formvalidation.io/settings/#form-container) option can be defined by a callback, thanks to [@mattrick](https://github.com/mattrick) * #570: Use CSS classes instead of inline styling to fix icons with ```input-group```, thanks to [@dlcrush](https://github.com/dlcrush) * #578, #813: The [stringLength](http://formvalidation.io/validators/stringLength/) validator supports HTML 5 ```minlength``` attribute, thanks to [@emilchristensen](https://github.com/emilchristensen) * #675: The [emailAddress](http://formvalidation.io/validators/emailAddress/) validator accepts multiple email addresses, thanks to [@kenny-evitt](https://github.com/kenny-evitt) * #716, #765: Reuse data returned by [callback](http://formvalidation.io/validators/callback/), [remote](http://formvalidation.io/validators/remote/), custom validators * #734: The [uri](http://formvalidation.io/validators/uri/) validator adds support for custom protocol, thanks to [@bcamarneiro](https://github.com/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](http://formvalidation.io/validators/different/) validator * #792: Add "BootstrapValidator's JavaScript requires jQuery" warning, thanks to [@Arkni](https://github.com/Arkni) * #803: Add ```minSize``` option for the [file](http://formvalidation.io/validators/file/) validator, thanks to [@Arkni](https://github.com/Arkni) * #824: Add [phone](http://formvalidation.io/validators/phone/) number validator test suite __Bug Fixes__ * #611, #703: Tabs get red even form is valid * #612, #740, #741: Fix the [emailAddress](http://formvalidation.io/validators/emailAddress/) issue which email@server is not valid email address, thanks to [@kromit](https://github.com/kromit) * #687, #711: Keep disabled validators VALID, thanks to [@talberti](https://github.com/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](http://formvalidation.io/validators/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](https://github.com/leedorian) * #797, #799: Can't validate ipv4 and ipv6 at the same time. Add ip validator test suite, thanks to [@Arkni](https://github.com/Arkni) * #816: Fix Russian [VAT](http://formvalidation.io/validators/vat/) number validator, thanks to [@stepin](https://github.com/stepin) * #832: The form won't be validated if the submit button contains a HTML tag __Document__ * #709, #715: Add [Bootstrap Select](http://formvalidation.io/examples/bootstrap-select/) and [Select2](http://formvalidation.io/examples/select2/) examples, thanks to [@Arkni](https://github.com/Arkni) * #855, #858: Add [TinyMCE](http://formvalidation.io/examples/tinymce/) example, thanks to [@Arkni](https://github.com/Arkni) * #859, #862, #865: Add [Changing tooltip/popover position](http://formvalidation.io/examples/tooltip-popover-position/) example, thanks to [@Arkni](https://github.com/Arkni) __Language Packages__ * #706: Japanese language package, thanks to [@tsuyoshifujii](https://github.com/tsuyoshifujii) * #712: Swedish language package, thanks to [@ulsa](https://github.com/ulsa) * #727: Belgium (French) language package, thanks to [@neilime](https://github.com/neilime) * #729: Persian (Farsi) language package, thanks to [@i0](https://github.com/i0) * #779: Romanian language package, thanks to [@filipac](https://github.com/filipac) * #787: Thai language package, thanks to [@figgaro](https://github.com/figgaro) * #788: Fully re-translated Simplified Chinese language package, thanks to [@shamiao](https://github.com/shamiao) * #795: Re-translated traditional Chinese language package, thanks to [@tureki](https://github.com/tureki) * #802: Russian language package, thanks to [@cylon-v](https://github.com/cylon-v). #816: Improved by [@stepin](https://github.com/stepin) * #806: Ukrainian language package, thanks to [@oleg-voloshyn](https://github.com/oleg-voloshyn) * #840: Serbian language package, thanks to [@markocrni](https://github.com/markocrni) * #856: Norwegian language package, thanks to [@trondulseth](https://github.com/trondulseth) * #868: Indonesian language package, thanks to [@egig](https://github.com/egig) ## v0.5.1 (2014-08-22) __New Features__ * #218, #531: Add meid validator, thanks to [@troymccabe](https://github.com/troymccabe) * #267, #532: Add imo validator, thanks to [@troymccabe](https://github.com/troymccabe) * #510, #646: Add French [phone number](http://formvalidation.io/validators/phone/) validator, thanks to [@dlucazeau](https://github.com/dlucazeau) * #536: Add Spanish [phone number](http://formvalidation.io/validators/phone/) validator, thanks to [@vadail](https://github.com/vadail) * #519: Add Iceland [VAT](http://formvalidation.io/validators/vat/) number validator, thanks to [@evilchili](https://github.com/evilchili) * #620, #621: Add Pakistan [phone number](http://formvalidation.io/validators/phone/) validator, thanks to [@abuzer](https://github.com/abuzer) * #630, #640: Add event name options to avoid ```window.onerror``` being invoked by jQuery, thanks to [@roryprimrose](https://github.com/roryprimrose). Thanks to [@stephengreentree](https://github.com/stephengreentree) for creating the test suite (#657) * #637: Add South African [VAT](http://formvalidation.io/validators/vat/) number validator, thanks to [@evilchili](https://github.com/evilchili) * #638, #647: Add Brazilian [phone number](http://formvalidation.io/validators/phone/) and [postal code](http://formvalidation.io/validators/zipCode/) validator, thanks to [@fhferreira](https://github.com/fhferreira) * #643: Add [zipCode](http://formvalidation.io/validators/zipCode/) and [phone number](http://formvalidation.io/validators/phone/) validators for Morocco, thanks to [@Arkni](https://github.com/Arkni) * #650: Add Brazilian [VAT](http://formvalidation.io/validators/vat/) number validator, thanks to [@fhferreira](https://github.com/fhferreira) __Improvements__ * #502: Allowing sites without TLD to pass URI validation, thanks to [@troymccabe](https://github.com/troymccabe) * #549, #600: Change the CSS/JS path in ```demo/remote.html``` and ```demo/message.html```, thanks to [@leegtang](https://github.com/leegtang), [@Arkni](https://github.com/Arkni) * #604: Fix the ```demo/date.html``` and ```demo/tab.html``` examples, thanks to [@Arkni](https://github.com/Arkni) * #609: Add content-type header for ```demo/remote.php```, thanks to [@etorres](https://github.com/etorres) * #661: Add ```headers``` option to the [remote](http://formvalidation.io/validators/remote/) validator, thanks to [@ryan2049](https://github.com/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](http://formvalidation.io/validators/different/) validator to compare with not existing field * #550, #551: Cannot validate against both ipv4 and ipv6 at the same time, thanks to [@beeglebug](https://github.com/beeglebug) * #588: Don't use min, max attributes (greaterThan, lessThan validators) for ```<input type="date" />``` * #665: The [submitButtons](http://formvalidation.io/settings/#form-submit-buttons) option doesn't work correctly * #672: The [zipCode](http://formvalidation.io/validators/zipCode/) validator throw an exception when passing not supported country code * #681: Fix the [date](http://formvalidation.io/validators/date/) validator issue where one of date/month/year or hours/minutes/seconds is prefixed by zero * #692: The [remote](http://formvalidation.io/validators/remote/) validator can't set the type option via HTML attribute * #700: The [between](http://formvalidation.io/validators/between/), [greaterThan](http://formvalidation.io/validators/greaterThan/), [lessThan](http://formvalidation.io/validators/lessThan/) validators accept param which isn't number __Language Packages__ * #400: Italian language package, thanks to [@maramazza](https://github.com/maramazza) * #503: French language package, thanks to [@dlucazeau](https://github.com/dlucazeau) * #505: Czech language package, thanks to [@AdwinTrave](https://github.com/AdwinTrave) * #507: Polish language package, thanks to [@grzesiek](https://github.com/grzesiek). #624: Typos fixed by [@lukaszbanasiak](https://github.com/lukaszbanasiak) * #517: Belgium (Dutch) language package, thanks to [@dokterpasta](https://github.com/dokterpasta) * #527: Bulgarian language package, thanks to [@mraiur](https://github.com/mraiur) * #534: Turkish language package, thanks to [@CeRBeR666](https://github.com/CeRBeR666) * #536: Spanish language package, thanks to [@vadail](https://github.com/vadail) * #544: Greek language package, thanks to [@pRieStaKos](https://github.com/pRieStaKos) * #545: Portuguese (Brazil) language package, thanks to [@marcuscarvalho6](https://github.com/marcuscarvalho6) * #598: Danish language package, thanks to [@Djarnis](https://github.com/Djarnis) * #674, #677: Dutch language package, thanks to [@jvanderheide](https://github.com/jvanderheide) * #679: Add Arabic language package, thanks to [@Arkni](https://github.com/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](https://github.com/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](http://formvalidation.io/validators/callback/), [remote](http://formvalidation.io/validators/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](http://formvalidation.io/validators/date/) * #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](http://formvalidation.io/validators/phone/), thanks to [@aca02djr](https://github.com/aca02djr) * #336: Add ```$field``` instance to the [callback validator](http://formvalidation.io/validators/callback/) * #356: Add ```group``` option * #374: Add Singapore postal code to the [zipCode validator](http://formvalidation.io/validators/zipCode/), thanks to [@thisisclement](https://github.com/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 * ```FormValidator.Helper``` 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_ ```javascript $(form).bootstrapValidator({ submitHandler: function(form, validator, submitButton) { ... } }); ``` _v0.5.0_ Using ```success.form.bv``` event: ```javascript $(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](https://github.com/smeagol74) * #262: Improve the [```updateStatus()``` method](http://formvalidation.io/api/#update-status). 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](https://github.com/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](http://formvalidation.io/validators/uri/) 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](https://github.com/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](http://formvalidation.io/validators/remote/) adds support for dynamic ```url``` and method type (GET/POST), thanks to [@ericnakagawa](https://github.com/ericnakagawa) * #416, #448: Add ```updateOption()``` method for updating the particular validator option, thanks to [@AlaskanShade](https://github.com/AlaskanShade) * #420: Enable/disable particular validator * #422: Exclude particular field by ```excluded``` option or ```data-bv-excluded``` attribute * #426: Add test suite * #430: [between](http://formvalidation.io/validators/between/), [greaterThan](http://formvalidation.io/validators/greaterThan/), [lessThan](http://formvalidation.io/validators/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](http://formvalidation.io/validators/zipCode/) allow to set the country code via another field or callback, thanks to [@AlaskanShade](https://github.com/AlaskanShade) * #451: Validation of numeric fields with decimal steps, thanks to [@Azuka](https://github.com/Azuka) * #456: Adjust the feedback icon position for ```.input-group``` element * #465: Support dynamic message __Bug Fixes__ * #288: Fix [date validator](http://formvalidation.io/validators/date/) issue on IE8 * #292: Fix identical validator issue with not clearing ```has-error``` class, thanks to [@alavers](https://github.com/alavers) * #305, #306, #307: Fix ```inclusive``` option in the [between](http://formvalidation.io/validators/between/), [greaterThan](http://formvalidation.io/validators/greaterThan/) and [lessThan](http://formvalidation.io/validators/lessThan/) validators, thanks to [@johanronn77](https://github.com/johanronn77) * #310, #475: The [date validator](http://formvalidation.io/validators/date/) 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](http://formvalidation.io/validators/uri/), thanks to [@mrpollo](https://github.com/mrpollo) * #313: Fix the [file validator](http://formvalidation.io/validators/file/) issue on IE 8 * #314: The [creditCard validator](http://formvalidation.io/validators/creditCard/) doesn't work on IE 8 * #315: The [cvv validator](http://formvalidation.io/validators/cvv/) doesn't work on IE 8 * #325: The [```threshold``` option](http://formvalidation.io/settings/#threshold) doesn't work on IE 8 * #358: The [zipCode validator](http://formvalidation.io/validators/zipCode/) doesn't work for Canadian zip code * #375: Don't submit form when the [callback validator](http://formvalidation.io/validators/callback/) completes and the submit button isn't clicked * #377: The [id](http://formvalidation.io/validators/id/), [vat](http://formvalidation.io/validators/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](http://formvalidation.io/validators/stringLength/) allows spaces after max length * #411: Fix the [ean validator](http://formvalidation.io/validators/ean/) when the check digit is zero, thanks to [@manish-in-java](https://github.com/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](https://github.com/AlaskanShade) * #483, #487: Added the letters 'W' and 'Z' in the second and third letter list for Canada postal code, thanks to [@jzhang6](https://github.com/jzhang6) * #492, #493: Fixed Chilean ID (RUT/RUN) finished in 'K' or 'k', thanks to [@marceloampuerop6](https://github.com/marceloampuerop6) __Document__ * #259: Typo "Support almost Bootstrap forms", thanks to [@lloydde](https://github.com/lloydde) * #261: English fix to 'amazing contributors' section, thanks to [@lloydde](https://github.com/lloydde) * #278: Update the [choice validator](http://formvalidation.io/validators/choice/) document, thanks to [@MrC0mm0n](https://github.com/MrC0mm0n) * #303: Fix typo in [remote validator](http://formvalidation.io/validators/remote/) document, thanks to [@MartinDevillers](https://github.com/MartinDevillers) * #334: No ID is specified on the form object for registration, thanks to [@jjshoe](https://github.com/jjshoe) * #423: Add default column to settings table, thanks to [@MartinDevillers](https://github.com/MartinDevillers) * #452: Update 'United State' to 'United States', thanks to [@mike1e](https://github.com/mike1e) __Language Packages__ * #396: German language package, thanks to [@logemann](https://github.com/logemann) * #474: Hungarian language package, thanks to [@blackfyre](https://github.com/blackfyre) * #478: Simplified and traditional Chinese language package, thanks to [@tureki](https://github.com/tureki) * #494: Chilean Spanish language package, thanks to [@marceloampuerop6](https://github.com/marceloampuerop6) ## v0.4.5 (2014-05-15) * Add ```FormValidator.Helper.date``` for validating a date, re-used in [date](http://formvalidation.io/validators/date/), [id](http://formvalidation.io/validators/id/), [vat](http://formvalidation.io/validators/vat/) validators * #233: Add ```threshold``` option * #232: Add [id validator](http://formvalidation.io/validators/id/) * #242: Add ```separator``` option to the [numeric validator](http://formvalidation.io/validators/numeric/) * #248: Add [isin (International Securities Identification Number) validator](http://formvalidation.io/validators/issn/) * #250: Add [rtn (Routing transit number) validator](http://formvalidation.io/validators/rtn/) * #251: Add [cusip (North American Securities) validator](http://formvalidation.io/validators/cusip/) * #252: Add [sedol (Stock Exchange Daily Official List) validator](http://formvalidation.io/validators/sedol/) * The [zipCode validator](http://formvalidation.io/validators/zipCode/) adds support for Italian, Dutch postcodes * #245: The [cvv validator](http://formvalidation.io/validators/cvv/) should support spaces in credit card, thanks to [@evilchili](https://github.com/evilchili) * Change default ```submitButtons``` to ```[type="submit"]``` to support ```input type="submit"``` * #226: Fix the conflict issue with MooTools * #238: The submit buttons are not sent * #253: The [iban validator](http://formvalidation.io/validators/iban/) 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 ## v0.4.4 (2014-05-05) * 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](http://formvalidation.io/validators/vat/) numbers * Add ```FormValidator.Helper.mod_37_36``` method that implements modulus 37, 36 (ISO 7064) algorithm, used in [GRid validator](http://formvalidation.io/validators/grid/) * #213: Add [EAN (International Article Number) validator](http://formvalidation.io/validators/ean/) * #214: Add [GRId (Global Release Identifier) validator](http://formvalidation.io/validators/grid/) * #215: Add [IMEI (International Mobile Station Equipment Identity) validator](http://formvalidation.io/validators/imei/) * #216: Add [ISMN (International Standard Music Number) validator](http://formvalidation.io/validators/ismn/) * #217: Add [ISSN (International Standard Serial Number) validator](http://formvalidation.io/validators/issn/) * #191, #223: Support using both the ```name``` attribute and ```selector``` option for field * #206: Indicate success/error tab * #220: Add UK postcode support for the [zipCode validator](http://formvalidation.io/validators/zipCode/) * #229: The [date validator](http://formvalidation.io/validators/date/) supports seconds * #231: Wrong prefix of Laser [credit card](http://formvalidation.io/validators/creditCard/) number ## v0.4.3 (2014-04-26) * Add ```FormValidator.Helper.luhn``` method that implements the Luhn algorithm * #77: Add [file validator](http://formvalidation.io/validators/file/) * #179: Add [vat validator](http://formvalidation.io/validators/vat/), support 32 countries * #198, #199: Add Canadian Postal Code support for the [zipCode validator](http://formvalidation.io/validators/zipCode/), thanks to [@Francismori7](https://github.com/Francismori7) * #201: The [choice validator](http://formvalidation.io/validators/choice/) 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](http://formvalidation.io/settings/#excluded) does not work on IE 8, thanks to [@adgrafik](https://github.com/adgrafik) * #210: The [isbn validator](http://formvalidation.io/validators/isbn/) accepts letters and special characters ## v0.4.2 (2014-04-19) * #168: Add [siren](http://formvalidation.io/validators/siren/) and [siret](http://formvalidation.io/validators/siret/) validators, thanks to [@jswale](https://github.com/jswale) * #177: Add [Vehicle Identification Number (VIN) validator](http://formvalidation.io/validators/vin/) * #184: Add [```excluded``` option](http://formvalidation.io/settings/#excluded) * #171: The [phone validator](http://formvalidation.io/validators/phone/) now supports +1 country code and area code for US phone number, thanks to [@tomByrer](https://github.com/tomByrer) * #173: The [remote validator](http://formvalidation.io/validators/remote/) allows to override ```name``` option, thanks to [@jswale](https://github.com/jswale) * #178: Do not validate fields that ```enabled``` is set to ```false```, thanks to [@henningda](https://github.com/henningda) * #182: Improve [zipCode validator](http://formvalidation.io/validators/zipCode/), thanks to [@gercheq](https://github.com/gercheq) * #169: Better to say: ```{validatorname}``` and ```{validatoroption}``` must be lowercase, thanks to [@tomByrer](https://github.com/tomByrer) ## v0.4.1 (2014-04-12) * #144, #158: Fixed an issue that the custom submit handler is not fired from the second time * #106: P