Release: Validation Plugin 1.10.0

Wow, 11 months. It really has been 11 months since the 1.9.0 release. Interesting freelance times!

Anyway, the jQuery validation plugin 1.10.0 is here! While the very recently launched campaign is just at the start, I hope this release helps convince you that the project isn’t dead. On the contrary, this release brings you all the improvements that were built during those 11 months. A big chunk was contributed by Max Lynch, kudos to him!

What changed? One cool new feature is the ability to specify messages with data- attributes. The next release should bring more html5y support like that, but for now you can put data-msg="Please please fill out this field!" into your markup, or specify one message per method: data-msg-required="Really need this" data-msg-minlength="Moar characters please" (please don’t use these messages in your application…).

Apart from that we’ve got a ton of updates on the outskirts: Localized messages now use their correct ISO codes, a lot of language files got added or improved. Additional methods got a few new citizens and updates to existing methods.

Backwards compatibility is still going strong: The plugin should work with anything from jQuery 1.3.x to 1.8.x.

Download this release.

Don’t forget to donate and spread the word!

Click here to lend your support to: jQuery Validation Plugin and make a donation at !

The full changelog:

  • Corrected French strings for nowhitespace, phoneUS, phoneUK and mobileUK based upon community feedback.
  • rename files for language_REGION according to the standard ISO_3166-1 (, for Taiwan tha language is Chinese (zh) and the region is Taiwan (TW)
  • Optimise RegEx patterns, especially for UK phone numbers.
  • Add Language Name for each file, rename the language code according to the standard ISO 639 for Estonian, Georgian, Ukrainian and Chinese (
  • Added croatian (HR) localization
  • Existing French translations were edited and French translations for the additional methods were added.
  • Merged in changes for specifying custom error messages in data attributes
  • Updated UK Mobile phone number regex for new numbers. Fixes #154
  • Add element to success call with test. Fixes #60
  • Fixed regex for time additional method. Fixes #131
  • resetForm now clears old previousValue on form elements. Fixes #312
  • Added checkbox test to require_from_group and changed require_from_group to use elementValue. Fixes #359
  • Fixed dataFilter response issues in jQuery 1.5.2+. Fixes #405
  • Added jQuery Mobile demo. Fixes #249
  • Deoptimize findByName for correctness. Fixes #82 – $.validator.prototype.findByName breaks in IE7
  • Added US zip code support and test. Fixes #90
  • Changed lastElement to lastActive in keyup, skip validation on tab or empty element. Fixes #244
  • Removed number stripping from stripHtml. Fixes #2
  • Fixed invalid count on invalid to valid remote validation. Fixes #286
  • Add link to file_input to demo index
  • Moved old accept method to extension additional-method, added new accept method to handle standard browser mimetype filtering. Fixes #287 and supersedes #369
  • Disables blur event when onfocusout is set to false. Test added.
  • Fixed value issue for radio buttons and checkboxes. Fixes #363
  • Added test for rangeWords and fixed regex and bounds in method. Fixes #308
  • Fixed TinyMCE Demo and added link on demo page. Fixes #382
  • Changed localization message for min/max. Fixes #273
  • Added pseudo selector for text input types to fix issue with default empty type attribute. Added tests and some test markup. Fixes #217
  • Fixed delegate bug for dynamic-totals demo. Fixes #51
  • Fix incorrect message for alphanumeric validator
  • Removed incorrect false check on required attribute
  • required attribute fix for non-html5 browsers. Fixes #301
  • Added methods “require_from_group” and “skip_or_fill_minimum”
  • Use correct iso code for swedish
  • Updated demo HTML files to use HTML5 doctype
  • Fixed regex issue for decimals without leading zeroes. Added new methods test. Fixes #41
  • Introduce a elementValue method that normalizes only string values (don’t touch array value of multi-select). Fixes #116
  • Support for dynamically added submit buttons, and updated test case. Uses validateDelegate. Code from PR #9
  • Fix bad double quote in test fixtures
  • Fix maxWords method to include the upper bound, not exclude it. Fixes #284
  • Fixed grammar error in german range validator message. Fixes #315
  • Fixed handling of multiple class names for errorClass option. Test by Max Lynch. Fixes #280
  • Fix jQuery.format usage, should be $.validator.format. Fixes #329
  • Methods for ‘all’ UK phone numbers + UK postcodes
  • Pattern method: Convert string param to RegExp. Fixes issue #223
  • grammar error in german localization file
  • Added Estonian localization for messages
  • Improve tooltip handling on themerollered demo
  • Add type=”text” to input fields without type attribute to please qSA
  • Update themerollered demo to use tooltip to show errors as overlay.
  • Update themerollered demo to use latest jQuery UI (along with newer jQuery version). Move code around to speed up page load.
  • Fixed min error message broken in Japanese.
  • Update form plugin to latest version. Enhance the ajaxSubmit demo.
  • Drop dateDE and numberDE methods from classRuleSettings, leftover from moving those to localized methods
  • Passing submit event to submitHandler callback
  • Fixed #219 – Fix valid() on elements with dependency-callback or dependency-expression.
  • Improve build to remove dist dir to ensure only the current release gets zipped up
  • Bumping version to 2.0.0pre
As usual:
  • Please post questions to the official Using jQuery Plugins Forum, tagging your question with (at least) “validate”. Keep your question short and succinct and provide code; a testpage makes it much more likely that you get an useful answer in no time.
  • Please post bug reports and other contributions (enhancements, features, eg. new validation methods) to the GitHub issue tracker