×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Javascript
Posted by: Gary Peach
Added: Feb 5, 2016 3:59 PM
Modified: Feb 5, 2016 4:55 PM
Views: 9
vip signup form
has a lot of custom validations for passwords
  1. /* jquery validate requires you to name input fields to work correctly.  phoneUS validation in this example requires you to load additional methods script that comes with jquery validate. */
  2.  $(document).ready(function () {
  3.             $.validator.addMethod('hasAlpha', function (value) {
  4.                 return /(?:[A-Za-z]+)/.test(value);
  5.             }, 'Please enter at least one letter.');
  6.             $.validator.addMethod('hasDigit', function (value) {
  7.                 return /(?:\d+)/.test(value);
  8.             }, 'Please enter at least one number.');
  9.             $.validator.addMethod('hasLower', function (value) {
  10.                 return /(?:[a-z]+)/.test(value);
  11.             }, 'Please enter at least one lowercase character.');
  12.             $.validator.addMethod('hasUpper', function (value) {
  13.                 return /(?:[A-Z]+)/.test(value);
  14.             }, 'Please enter at least one uppercase character.');
  15.             $.validator.addMethod('hasSpecial', function (value) {
  16.                 return /(?:[$#@$!%*?&])/.test(value);
  17.             }, 'Please enter at least one special character.');
  18.             $.validator.addMethod("notEqualTo", function (value, element, param)
  19.             {
  20.                 var target = $(param);
  21.                 if (value)
  22.                     return value != target.val();
  23.                 else
  24.                     return this.optional(element);
  25.             }, "Repeated field");
  26.  
  27.             $("#vipForm").validate(
  28.                     {
  29.                         rules:
  30.                                 {
  31.                                     firstName:
  32.                                             {
  33.                                                 required: true
  34.                                             },
  35.                                     lastName:
  36.                                             {
  37.                                                 required: true
  38.                                             },
  39.                                     organization:
  40.                                             {
  41.                                                 required: true
  42.                                             },
  43.                                     email:
  44.                                             {
  45.                                                 required: true,
  46.                                                 email: true
  47.                                             },
  48.                                     username:
  49.                                             {
  50.                                                 required: true
  51.                                             },
  52.                                     password:
  53.                                             {
  54.                                                 notEqualTo: '#username',
  55.                                                 required: true,
  56.                                                 hasDigit: true,
  57.                                                 hasAlpha: true,
  58.                                                 hasUpper: true,
  59.                                                 hasLower: true,
  60.                                                 hasSpecial: true,
  61.                                                 rangelength: [6, 15]
  62.  
  63.                                             },
  64.                                     confirmPassword:
  65.                                             {
  66.                                                 required: true,
  67.                                                 equalTo: '#password'
  68.                                             },
  69.                                     phone:
  70.                                             {
  71.                                                 required: true,
  72.                                                 phoneUS: true
  73.                                             },
  74.                                     address:
  75.                                             {
  76.                                                 required: true
  77.                                             },
  78.                                     address2:
  79.                                             {
  80.                                                 required: true
  81.                                             },
  82.                                     city:
  83.                                             {
  84.                                                 required: true
  85.                                             },
  86.                                     state:
  87.                                             {
  88.                                                 required: true
  89.                                             },
  90.                                     zip:
  91.                                             {
  92.                                                 required: true
  93.                                             },
  94.                                     month:
  95.                                             {
  96.                                                 required: true
  97.                                             },
  98.                                     day:
  99.                                             {
  100.                                                 required: true
  101.                                             },
  102.                                     year:
  103.                                             {
  104.                                                 required: true
  105.                                             },
  106.                                     gender:
  107.                                             {
  108.                                                 required: true
  109.                                             },
  110.                                     confirmation:
  111.                                             {
  112.                                                 required: true
  113.                                             }
  114.                                 },
  115.                         groups: {
  116.                             mdy: "month day year"
  117.                         },
  118.                         messages: {
  119.                             "password": {
  120.                                 notEqualTo: 'Password cant be same as username'
  121.                             },
  122.                             "month": {
  123.                                 required: "Month is required"
  124.                             },
  125.                             "day": {
  126.                                 required: "Day is required"
  127.                             },
  128.                             "year": {
  129.                                 required: "Year is required"
  130.                             }
  131.                         },
  132.                         errorPlacement: function (error, element) {
  133.                             if (element.attr("name") == "month" || element.attr("name") == "day" || element.attr("name") == "year") {
  134.                                 error.insertAfter("#MDY");
  135.                             } else if (element.attr("name") == "gender") {
  136.                                 error.insertAfter("#gender");
  137.                             } else if (element.attr("name") == "confirmation") {
  138.                                 error.insertAfter("#confirmation");
  139.                             } else {
  140.                                 error.insertAfter(element);
  141.                             }
  142.                         }
  143.                     }
  144.             );
  145.         });