GitHub - johnnyreilly/jquery-validation-globalize: An extension to the jQuery Validation Plugin which makes it use Globalize.js for number and date parsing (enabling simple internationalized validation) (original) (raw)

jQuery Validation Globalize

Build Status

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:

Getting started

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:

Customisation

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.

To install and test locally

npm install
npm run bower-install
npm run make-globalize-cldr-data-js
npm run test

Install into your project

Using Bower: bower install jquery-validation-globalize --save

Author

John Reilly

Credits

Inspired by Scott Hanselman's blog post and evolved from my blog post. Entirely dependent upon jQuery Validation and Globalize.

Copyright © 2013- John Reilly.

License

MIT license - http://www.opensource.org/licenses/mit-license.php

Changelog

1.0.0 / 2015-09-27

0.1.1 / 2013-09-28

0.0.1 / 2013-08-27