lera.cernolev
2/25/2019 - 4:57 PM

Devoted Health Plans

<!-- Settings -> JS -> Header -->
<script src="https://storage.googleapis.com/instapage-app-assets/1528144101_jquery.mask.js"></script>


<!-- Settings -> JS -> Footer -->
<script>
function page_generator(inputName) {
    return window.__page_generator ? inputName : base64_encode(inputName);
}

// Form Fields
var zipField = "Zipcode";
var phoneField = "Phone Number";
var nameField = "First Name";
var surnameField = "Last Name";


// Masks 
$('input[name="' + page_generator(zipField) + '"]').mask('00000');

var options = {
  onKeyPress: function (cep, e, field, options) {
      var masks = ['(000)-000-00000', '0-(000)-000-0000'];
      var mask = (cep.length > 14) ? masks[1] : masks[0];
      $('input[name="' + page_generator(phoneField) + '"]').mask(mask, options);
  }
};
$('input[name="' + page_generator(phoneField) + '"]').mask('0-(000)-000-0000', options);

// Validations 
if (!window.__page_generator) {
  // Zip field
  jQuery.validator.addMethod('ziplength', function (value, element) {
      return value.length === 5;
  });
  $('input[name="' + base64_encode(zipField) + '"]').addClass('ziplength');
  jQuery.extend($.validator.messages, { ziplength: 'field: needs to be 5 digits.' });

  // Phone field
  jQuery.validator.addMethod('phonelength', function (value, element) {
      return value.length >= 14;
  });
  $('input[name="' + base64_encode(phoneField) + '"]').addClass('phonelength');
  jQuery.extend($.validator.messages, { phonelength: 'field: needs to be 10 or 11 digits.' });

  // Name fields
  jQuery.validator.addMethod('nameValidation', function (value, element) {
      return value.match(/^[a-zA-Z][^#&<>\"~;$^%{}?\d(),]{0,20}$/g)
  }); // validator
  $('input[name="' + base64_encode(nameField) + '"]').addClass('nameValidation');
  $('input[name="' + base64_encode(surnameField) + '"]').addClass('nameValidation');
  jQuery.extend($.validator.messages, { nameValidation: 'field: only alphabetical characters and hyphens.' });

  jQuery.validator.addMethod('nameValidationLength', function (value, element) {
      return value.length >= 2;
  }); // validator
  $('input[name="' + base64_encode(nameField) + '"]').addClass('nameValidationLength');
  $('input[name="' + base64_encode(surnameField) + '"]').addClass('nameValidationLength');
  jQuery.extend($.validator.messages, { nameValidationLength: 'field: must be be at least 2 characters.' });

}
else {
  window.__custom_form_validations = [
    {
        fieldName: 'Zipcode',
        validationFn: function (input) {
            return {
                isValid: input.value.length === 5,
                message: window._Translate.get('field: needs to be 5 digits.'),
            };
        },
    },
    {
        fieldName: 'First Name',
        validationFn: function (input) {
            var nameRegex = /^[a-zA-Z][^#&<>\"~;$^%{}?\d(),]{0,20}$/g;
            return {
                isValid: nameRegex.test(input.value),
                message: window._Translate.get('field: only alphabetical characters and hyphens.'),
            };
        },
    },
    {
        fieldName: 'First Name',
        validationFn: function (input) {
            return {
                isValid: input.value.length >= 2,
                message: window._Translate.get('field: must be at least 2 characters.'),
            };
        },
    },
    {
        fieldName: 'Last Name',
        validationFn: function (input) {
            var nameRegex = /^[a-zA-Z][^#&<>\"~;$^%{}?\d(),]{0,20}$/g;
            return {
                isValid: nameRegex.test(input.value),
                message: window._Translate.get('field: only alphabetical characters and hyphens.'),
            };
        },
    },
    {
        fieldName: 'Last Name',
        validationFn: function (input) {
            return {
                isValid: input.value.length >= 2,
                message: window._Translate.get('field: must be at least 2 characters.'),
            };
        },
    },
    {
        fieldName: 'Phone Number',
        validationFn: function (input) {
            return {
                isValid: input.value.length >= 14,
                message: window._Translate.get('field: needs to be 10 or 11 digits.'),
            };
        },
    },
  ];
}
</script>