Contributing to the jQuery Validation Plugin
Reporting an Issue
- Make sure the problem you're addressing is reproducible.
- Use http://jsbin.com or http://jsfiddle.net to provide a test page.
- Indicate what browsers the issue can be reproduced in. Note: IE Compatibilty mode issues will not be addressed. Make sure you test in a real browser!
- What version of the plug-in is the issue reproducible in. Is it reproducible after updating to the latest version.
IMPORTANT NOTE ABOUT EMAIL VALIDATION. As of version 1.12.0 this plugin is using the same regular expression that the HTML5 specification suggests for browsers to use. We will follow their lead and use the same check. If you think the specification is wrong, please report the issue to them. If you have different requirements, consider using a custom method. In case you need to adjust the built-in validation regular expression patterns, please follow the documentation.
Thanks for contributing! Here's a few guidelines to help your contribution get landed.
- Make sure the problem you're addressing is reproducible. Use jsbin.com or jsfiddle.net to provide a test page.
- Follow the jQuery style guide
- Add or update unit tests along with your patch. Run the unit tests in at least one browser (see below).
grunt(see below) to check for linting and a few other issues.
- Describe the change in your commit message and reference the ticket, like this: "Demos: Fixed delegate bug for dynamic-totals demo. Fixes #51". If you're adding a new localization file, use something like this: "Localization: Added croatian (HR) localization"
- Install NodeJS.
- Install the Grunt CLI To install by running
npm install -g grunt-cli. More details are available on their website http://gruntjs.com/getting-started.
- Install the NPM dependencies by running
- The build can now be called by running
Creating a new Additional Method
If you've wrote custom methods that you'd like to contribute to additional-methods.js:
- Create a branch
- Add the method as a new file in
- (Optional) Add translations to
- Send a pull request to the master branch.
To run unit tests, just open
test/index.html within your browser. Make sure you ran
npm install before so all required dependencies are available.
Start with one browser while developing the fix, then run against others before committing. Usually latest Chrome, Firefox, Safari and Opera and a few IEs.
Please report documentation issues at the jQuery Validation issue tracker. In case your pull request implements or changes public API it would be a plus you would provide a pull request against the jQuery Validation docs repository.
To run JSHint and other tools, use