MCPcopy Index your code
hub / github.com/jquery-validation/jquery-validation

github.com/jquery-validation/jquery-validation @1.22.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.22.1 ↗ · + Follow
699 symbols 1,569 edges 162 files 45 documented · 6% 2 cross-repo links updated 6d ago1.22.1 · 2026-02-18★ 10,32824 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

jQuery Validation Plugin - Form validation made easy

release Build Status devDependency Status jsDelivr Hits

The jQuery Validation Plugin provides drop-in validation for your existing forms, while making all kinds of customizations to fit your application really easy.

Getting Started

Downloading the prebuilt files

Prebuilt files can be downloaded from https://jqueryvalidation.org/

Downloading the latest changes

The unreleased development files can be obtained by:

  1. Downloading or Forking this repository
  2. Setup the build
  3. Run grunt to create the built files in the "dist" directory

Including it on your page

Include jQuery and the plugin on a page. Then select a form to validate and call the validate method.

<form>
    <input required>
</form>
<script src="https://github.com/jquery-validation/jquery-validation/raw/1.22.1/jquery.js"></script>
<script src="https://github.com/jquery-validation/jquery-validation/raw/1.22.1/jquery.validate.js"></script>
<script>
    $("form").validate();
</script>

Alternatively include jQuery and the plugin via requirejs in your module.

define(["jquery", "jquery.validate"], function( $ ) {
    $("form").validate();
});

For more information on how to setup a rules and customizations, check the documentation.

Reporting issues and contributing code

See the Contributing Guidelines for details.

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.

IMPORTANT NOTE ABOUT REQUIRED METHOD. As of version 1.14.0 this plugin stops trimming white spaces from the value of the attached element. If you want to achieve the same result, you can use the normalizer that can be used to transform the value of an element before validation. This feature was available since v1.15.0. In other words, you can do something like this:

$("#myForm").validate({
    rules: {
        username: {
            required: true,
            // Using the normalizer to trim the value of the element
            // before validating it.
            //
            // The value of `this` inside the `normalizer` is the corresponding
            // DOMElement. In this example, `this` references the `username` element.
            normalizer: function(value) {
                return $.trim(value);
            }
        }
    }
});

Accessibility

For an invalid field, the default output for the jQuery Validation Plugin is an error message in a <label> element. This results in two <label> elements pointing to a single input field using the for attribute. While this is valid HTML, it has inconsistent support across screen readers.

For greater screen reader support in your form's validation, use the errorElement parameter in the validate() method. This option outputs the error in an element of your choice and automatically adds ARIA attributes to the HTML that help with screen reader support.

aria-describedby is added to the input field and it is programmatically tied to the error element chosen in the errorElement parameter.

$("#myform").validate({
  errorElement: "span"
});
<label for="name">Name</label>
<input id="name" aria-describedby="unique-id-here">
<span class="error" id="unique-id-here">This field is required</span>

Learn more about errorElement

License

Copyright © Jörn Zaefferer

Licensed under the MIT license.

Core symbols most depended-on inside this repo

form
called by 78
test/custom-elements.js
jQuery
called by 60
lib/jquery-1.7.2.js
jQuery
called by 58
lib/jquery-3.1.1.js
jQuery
called by 57
lib/jquery-1.8.3.js
jQuery
called by 51
lib/jquery-1.9.1.js
errors
called by 51
test/test.js
methodTest
called by 51
test/methods.js
jQuery
called by 48
lib/jquery-1.11.1.js

Shape

Function 694
Method 3
Class 2

Languages

TypeScript100%

Modules by API surface

lib/jquery-4.0.0.js112 symbols
lib/jquery-3.1.1.js101 symbols
lib/jquery-1.11.1.js84 symbols
lib/jquery-1.9.1.js80 symbols
lib/jquery-1.8.3.js72 symbols
demo/tinymce/tiny_mce.js56 symbols
lib/jquery-1.7.2.js55 symbols
lib/require.js29 symbols
lib/jquery.mockjax-2.7.0.js20 symbols
lib/jquery.mockjax-2.2.1.js20 symbols
lib/jquery.mockjax-1.5.3.js15 symbols
lib/jquery.form.js11 symbols

Used by 2 indexed graphs manifest dependencies, hub-wide

Dependencies from manifests, versioned

commitplease2.3.1 · 1×
grunt1.0.1 · 1×
grunt-contrib-compress1.2.0 · 1×
grunt-contrib-concat1.0.1 · 1×
grunt-contrib-copy1.0.0 · 1×
grunt-contrib-jshint1.0.0 · 1×
grunt-contrib-qunit10.0.0 · 1×
grunt-contrib-uglify1.0.1 · 1×
grunt-jscs2.8.0 · 1×
grunt-sri0.2.0 · 1×
grunt-text-replace0.4.0 · 1×

For agents

$ claude mcp add jquery-validation \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact