An extension to the jQuery Validation Plugin which makes it use Globalize for number and date parsing (enabling simple internationalized validation).
This extension has the following dependencies:
- jQuery Validation (which itself depends on jQuery) - any version to my knowledge
- Globalize v1.x
Simply include jquery.validate.globalize.js on a page after jquery-validate and globalize (you need the core, number and date globalize modules as well as their associated cldr data - see here for details). Now you are validating using Globalize to do your number and date parsing. Lucky you!
So what's different? Well, for example, if you're catering for German users then you will be presumably using the "de-DE" Globalize culture. If this culture has been selected at the time of validation then "27.08.2013" will be successfully validated as a date and "10,5" will be successfully validated as a number.
The following validator methods are patched by jQuery Validation Globalize:
- number
- min
- max
- range
- date
If you want to customise the data parsing you can do it by amending this to the parsing mechanism you prefer. This is the default:
$.validator.methods.dateGlobalizeOptions = { dateParseFormat: { skeleton: "yMd" } };
This is a good resource for learning about parsing. At present this only supports a single parsing format. Changes could be made to support multiple formats if that was necessary.
npm install
npm run bower-install
npm run make-globalize-cldr-data-js
npm run test
Using Bower: bower install jquery-validation-globalize --save
John Reilly
Inspired by Scott Hanselman's blog post and evolved from my blog post. Entirely dependent upon jQuery Validation and Globalize.
Copyright © 2013- John Reilly.
MIT license - http://www.opensource.org/licenses/mit-license.php
- Moved to use Globalize 1.x.
- Changed min, max and range to defer to original validation methods in jQuery Validation once parsing has taken place. Should the implementations of these ever change then we no longer need to propogate those changes manually into jQuery Validation Globalize.
- Removed direct dependency on jQuery - not needed as jQuery Validation has (and will always have) this dependency itself.
- Initial release