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)
https://johnnyreilly.github.io/jQuery.Validation.Unobtrusive.Native/AdvancedDemo/Globalize.html
MIT License
47 stars 15 forks source link

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

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