Convert Figma logo to code with AI

jquery-validation logojquery-validation

jQuery Validation Plugin library sources

10,351
2,791
10,351
45

Top Related Projects

jQuery Validation Plugin library sources

Validate your forms, frontend, without writing a single line of javascript

String validation

Quick Overview

jQuery Validation is a popular plugin for client-side form validation. It provides an easy way to validate user input in HTML forms using jQuery, offering customizable rules and messages for various input types.

Pros

  • Easy to implement and integrate with existing jQuery projects
  • Highly customizable with a wide range of built-in validation methods
  • Supports localization for error messages
  • Actively maintained with regular updates and bug fixes

Cons

  • Requires jQuery as a dependency, which may not be ideal for modern projects
  • Can be overkill for simple forms or projects that don't use jQuery
  • Performance may be affected on large forms with many fields
  • Limited support for more complex validation scenarios without custom extensions

Code Examples

  1. Basic form validation:
$("#myform").validate({
  rules: {
    name: "required",
    email: {
      required: true,
      email: true
    },
    age: {
      required: true,
      number: true,
      min: 18
    }
  },
  messages: {
    name: "Please enter your name",
    email: {
      required: "Please enter your email address",
      email: "Please enter a valid email address"
    },
    age: {
      required: "Please enter your age",
      number: "Please enter a valid number",
      min: "You must be at least 18 years old"
    }
  }
});
  1. Custom validation method:
$.validator.addMethod("customPassword", function(value, element) {
  return this.optional(element) || /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/.test(value);
}, "Password must contain at least 8 characters, including uppercase, lowercase, and numbers");

$("#myform").validate({
  rules: {
    password: {
      required: true,
      customPassword: true
    }
  }
});
  1. Remote validation:
$("#myform").validate({
  rules: {
    username: {
      required: true,
      remote: {
        url: "check-username.php",
        type: "post",
        data: {
          username: function() {
            return $("#username").val();
          }
        }
      }
    }
  },
  messages: {
    username: {
      remote: "This username is already taken"
    }
  }
});

Getting Started

  1. Include jQuery and jQuery Validation plugin in your HTML:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.19.3/dist/jquery.validate.min.js"></script>
  1. Add validation rules to your form:
$(document).ready(function() {
  $("#myform").validate({
    rules: {
      name: "required",
      email: {
        required: true,
        email: true
      }
    },
    submitHandler: function(form) {
      form.submit();
    }
  });
});
  1. Apply the required class to required form fields:
<form id="myform">
  <input type="text" name="name" class="required">
  <input type="email" name="email" class="required">
  <input type="submit" value="Submit">
</form>

Competitor Comparisons

jQuery Validation Plugin library sources

Pros of jquery-validation

  • More widely used and actively maintained
  • Extensive documentation and community support
  • Larger set of built-in validation methods

Cons of jquery-validation

  • Slightly larger file size
  • May have more features than needed for simple projects
  • Requires jQuery as a dependency

Code Comparison

jquery-validation:

$("#myform").validate({
  rules: {
    name: "required",
    email: {
      required: true,
      email: true
    }
  },
  messages: {
    name: "Please enter your name",
    email: "Please enter a valid email address"
  }
});

jquery-validation:

$("#myform").validate({
  rules: {
    name: "required",
    email: {
      required: true,
      email: true
    }
  },
  messages: {
    name: "Please enter your name",
    email: "Please enter a valid email address"
  }
});

Both repositories appear to be the same project, as they have identical code examples and functionality. The comparison provided above is based on the assumption that there might be differences between the two. However, in reality, jquery-validation/jquery-validation is likely the main repository for the jQuery Validation plugin, and there is no separate jquery-validation project to compare it against.

Validate your forms, frontend, without writing a single line of javascript

Pros of Parsley.js

  • More lightweight and faster than jQuery Validation
  • Supports modern JavaScript frameworks and doesn't require jQuery
  • Offers more customizable error messages and styling options

Cons of Parsley.js

  • Smaller community and fewer resources compared to jQuery Validation
  • Less extensive built-in validation rules
  • Steeper learning curve for developers new to form validation

Code Comparison

Parsley.js:

$('#form').parsley().on('form:submit', function() {
  // Form is valid
  return false;
});

jQuery Validation:

$("#form").validate({
  submitHandler: function(form) {
    // Form is valid
    form.submit();
  }
});

Both libraries allow for easy form validation, but Parsley.js uses a more modern approach with its event-based system. jQuery Validation relies on the jQuery library and uses a more traditional configuration object. Parsley.js offers a more flexible and customizable validation process, while jQuery Validation provides a simpler setup for basic validation needs.

String validation

Pros of validator.js

  • Lightweight and dependency-free, making it suitable for both browser and Node.js environments
  • Supports a wide range of validation rules out of the box
  • Easy to extend with custom validation rules

Cons of validator.js

  • Lacks built-in form integration, requiring more manual setup for form validation
  • Does not provide automatic error message display or styling

Code Comparison

validator.js:

import validator from 'validator';

const isValid = validator.isEmail('example@email.com');
console.log(isValid); // true

jquery-validation:

$("#myform").validate({
  rules: {
    email: {
      required: true,
      email: true
    }
  }
});

Summary

validator.js is a versatile, lightweight validation library that works well in various JavaScript environments. It offers a wide range of built-in validation rules and is easily extensible. However, it requires more manual setup for form validation compared to jquery-validation.

jquery-validation, on the other hand, is specifically designed for jQuery-based form validation. It provides seamless integration with HTML forms and automatic error message display. However, it has a dependency on jQuery and is primarily focused on client-side validation in web browsers.

Choose validator.js for a flexible, lightweight solution that can be used in both browser and Node.js environments. Opt for jquery-validation if you're working with jQuery and need a more automated form validation solution with built-in UI feedback.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

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="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 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.

NPM DownloadsLast 30 Days