$.validator.addMethod('customphone', function (value, element) { return this.optional(element) || /^(\+){0,1}(?:[0-9] ?){6,14}[0-9]$/.test(value); }, "Please enter a valid phone number"); $(document).ready(function(){ $('#modalContact').modal({ show: false}) $('#contact_form').validate({ onkeyup: false, onfocusout: false, focusCleanup: false, debug: true, rules: { fname: { required: true, minlength: 2, maxlength: 12 }, phone: { required: true, customphone: true }, email: { required: true, email: true }, msg: { required: true }, }, messages: { fname: { required: "Как Вас заовут?" }, phone: { required: "Какой Ваш номер телефона?" }, msg: { required: "Введите Ваше сообщение или вопрос" }, email: { required: "Какой Ваш E-mail?", email: "Введите корректный E-mail" } } }); $('#contact_form').submit(function() { if( $(this).valid()) { $('#contact_submit').hide(); $('#contact_form input, #contact_form textarea').attr('readonly', true); $('#contact_form input, #contact_form textarea').addClass('readonly'); $('#contact_form input, #contact_form textarea').attr('placeholder',''); $('#modalContact .clear_form').hide(); $('#contact_tranfering').show(); //$('#contact_submit').button('loading'); var action = $(this).attr('action'); $.ajax({ url: action, type: 'POST', data: { fname: $('#contact_form input[name="fname"]').val(), email: $('#contact_form input[name="email"]').val(), phone: $('#contact_form input[name="phone"]').val(), msg: $('#contact_form textarea[name="msg"]').val() }, success: function() { $('#contact_tranfering').hide(); $('#contact_success').show(); // setTimeout( function(){ $('#modalContact').modal('hide'); }, 7000 ); }, error: function() { console.log('error'); } }); } else { //$('#contact_submit').button('reset') console.log('incorrect data'); } return false; }); // --------------------------------------- // Extra k validation // --------------------------------------- // Placehodler na focus ubratj $('#contact_form input, #contact_form textarea').each( function(){ $(this).attr('data-tt', this.placeholder ); }) $('#contact_form input, #contact_form textarea').bind( 'focusin change keyup', function(){ this.placeholder = ''; $(this).valid(); }); $('#contact_form input, #contact_form textarea').bind( 'focusout', function(){ this.placeholder = $(this).attr('data-tt'); $(this).valid(); }); $('.modal-dialog div.clear_form a').click(function(){ $('#contact_form input, #contact_form textarea').val(''); var validator = $("#contact_form").validate(); validator.resetForm(); }); }); function show_contact_form() { $('#modalContact').modal('show'); }