Description
The jQuery Validation Plugin provides drop-in validation for your existing forms, while making all kinds of customizations to fit your application really easy.
jquery-validation alternatives and similar libraries
Based on the "Validation" category.
Alternatively, view jquery-validation alternatives based on common mentions on social networks and blogs.
-
FormValidation
DISCONTINUED. The best @jquery plugin to validate form fields. Designed to use with Bootstrap + Zurb Foundation + Pure + SemanticUI + UIKit + Your own frameworks. -
Validator, for Bootstrap 3
DISCONTINUED. A user-friendly HTML5 form validation jQuery plugin for Bootstrap 3 -
BootstrapValidator
DISCONTINUED. For anyone who want to use the previous version (BootstrapValidator) -
rdf-validate-shacl
Validate RDF data purely in JavaScript. An implementation of the W3C SHACL specification on top of the RDFJS stack.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of jquery-validation or a related project?
README
jQuery Validation Plugin - Form validation made easy
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:
- Downloading or Forking this repository
- [Setup the build](CONTRIBUTING.md#build-setup)
- 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="jquery.js"></script>
<script src="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](CONTRIBUTING.md) 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>
License
Copyright © Jörn Zaefferer Licensed under the MIT license.
*Note that all licence references and agreements mentioned in the jquery-validation README section above
are relevant to that project's source code only.