Last Updated: January 28, 2019
function validateField(element, e){ var restriction = element.attr('data-restriction'); var errorText = element.attr('data-error-text'); var required = element.attr('data-required'); var name = element.attr('name'); var label = element.siblings('label').html(); var tagName = element.prop('tagName').toLowerCase(); var value = element.val(); if (typeof restriction !== 'undefined'){ if (restriction == 'numeric'){ if (typeof e !== 'undefined'){ // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A, Command+A (e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) || // Allow: home, end, left, right, down, up (e.keyCode >= 35 && e.keyCode <= 40)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } } } } if (required != 'no'){ switch (tagName){ case 'input': var type = element.attr('type'); switch (type){ case 'text': if (element.val() == ''){ element.after('Please enter ' + label + '.'); element.addClass('invalid'); element.removeClass('valid'); }else{ element.removeClass('invalid'); element.addClass('valid'); $('.form-error-' + name).remove(); } break; case 'password': console.log('Password validation'); if (element.val() == ''){ element.after('Please enter ' + label + '.'); element.addClass('invalid'); element.removeClass('valid'); }else{ if (element.hasClass('form-control-re-type-password')){ if (element.val() != $('.form-control-password').val()){ element.after('Password and Re-type password must match.'); element.addClass('invalid'); element.removeClass('valid'); }else{ element.removeClass('invalid'); element.addClass('valid'); $('.form-error-' + name).remove(); } }else{ element.removeClass('invalid'); element.addClass('valid'); $('.form-error-' + name).remove(); } } break; case 'email': if (element.val() == '' || !validateEmail(element.val())){ element.after('Please enter your correct email address.'); element.addClass('invalid'); element.removeClass('valid'); }else{ element.removeClass('invalid'); element.addClass('valid'); $('.form-error-' + name).remove(); } break; } var values = 'action=save_process_data_action&request_id=' + requestID + '&key='+ name + '&value=' + value; $.post(site.ajaxURL, values , function(response) {}); break; case 'select': if (element.val() == ''){ element.after('Please choose ' + label + '.'); element.addClass('invalid'); element.removeClass('valid'); }else{ element.removeClass('invalid'); element.addClass('valid'); $('.form-error-' + name).remove(); } break; } } }