mobilevalidate.js 2.54 KB
jQuery(function ($) {
  // Custom validation method to ensure the number starts with 6-9
  jQuery.validator.addMethod(
    "number",
    function (value, element) {
      return this.optional(element) || /^[6-9][0-9]{9}$/.test(value);
    },
    "Please enter a valid mobile number"
  );

  jQuery.validator.addMethod(
    "country",
    function (value, element) {
      return this.optional(element) || /^[^+]/.test(value);
    },
    "Enter Number Without Country Code"
  );

  jQuery.validator.addMethod(
    "mobile",
    function (value, element) {
      return this.optional(element) || $(element).intlTelInput("isValidNumber");
    },
    "Please enter a valid mobile number"
  );

  jQuery.validator.addMethod(
    "alphabets",
    function (value, element) {
      return this.optional(element) || /^[a-zA-Z ]*$/.test(value);
    },
    "Please enter Alphabets only"
  );

  jQuery.validator.addMethod(
    "email",
    function (value, element) {
      return (
        this.optional(element) ||
        /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(
          value
        )
      );
    },
    "Please enter a valid email address."
  );

  jQuery.validator.addMethod(
    "valueNotEquals",
    function (value, element, arg) {
      return arg !== value;
    },
    "Value must not equal arg."
  );

  // Apply the validation rules to each form
  const applyValidation = (formId) => {
    if ($(formId).length > 0) {
      $(formId).validate({
        rules: {
          fname: {
            required: true,
            maxlength: 100,
          },
          mobile: {
            required: true,
            minlength: 10,
            maxlength: 10,
            number: true, // Apply the custom 'number' validation method
          },
          email: {
            required: true,
            email: true,
          },
        },
        messages: {
          fname: {
            required: "Enter Your Name",
          },
          mobile: {
            required: "Enter Your Number",
          },
          email: {
            required: "Enter Your Email",
          },
        },
      });
    }
  };

  // Apply validation to all forms
  applyValidation("#contact-form");
  applyValidation("#inter-form");
  applyValidation("#price-popup");
  applyValidation("#download-brochure");
  applyValidation("#download-popup");
  applyValidation("#floor-form");
  applyValidation("#video-form");
  applyValidation("#main-popup");
  applyValidation("#float-form");
});