$.validator.setDefaults({ //submitHandler: function() { return true; } }); $().ready(function() { $.validator.addMethod( "checkcaptcha", function(value, element) { var captchaSum = 0; $( "form#signupForm .eeb-num" ).each( function() { captchaSum += parseInt( $( "span#" + $( this ).attr( "id" ) ).html() ); }); return ( captchaSum === parseInt( $( "form#signupForm input#captcha" ).val() ) ); } ); // validate the comment form when it is submitted $("#commentForm").validate(); // validate signup form on keyup and submit $("#signupForm").validate({ rules: { firstname: "required", lastname: "required", email: { required: true, email: true }, phone: { required: false, number: true }, district: "required", captcha: { "required": ( $( "form#signupForm input#captcha" ).length > 0 ), "checkcaptcha": ( $( "form#signupForm input#captcha" ).length > 0 ) }, city: "required", agree: "required" }, messages: { firstname: "obbligatorio", lastname: "obbligatorio", email: { required: "obbligatorio", email: "indirizzo non valido" }, phone: { required: "", number: "solo numeri" }, district: "Seleziona una provincia", captcha: { required: "obbligatorio", checkcaptcha: "Controllo Captcha non valido" }, city: "Selezionare una città", agree: "obbligatorio" } }); // validate signup form on keyup and submit $("#tab_1").validate({ rules: { squaremeters_1: { required: true, number: true }, quotation_1: "required", firstname_1: "required", lastname_1: "required", email_1: { required: true, email: true }, agree_1: "required" }, messages: { squaremeters_1: { required: "Compilare e premere Calcola preventivo", number: "Inserire un numero e premere Calcola preventivo" }, quotation_1: "Calcolare un preventivo", firstname_1: "Il campo nome è obbligatorio", lastname_1: "Il campo cognome è obbligatorio", email_1: { required: "Il campo e-mail è obbligatorio", email: "Inserisci un indirizzo email valido" }, agree_1: "  L'accettazione è necessaria" } }); // validate signup form on keyup and submit $("#tab_2").validate({ rules: { squaremeters_2: { required: true, number: true }, quotation_2: "required", firstname_2: "required", lastname_2: "required", email_2: { required: true, email: true }, agree_2: "required" }, messages: { squaremeters_2: { required: "Compilare e premere Calcola preventivo", number: "Inserire un numero e premere Calcola preventivo" }, quotation_2: "Calcolare un preventivo", firstname_2: "Il campo nome è obbligatorio", lastname_2: "Il campo cognome è obbligatorio", email_2: { required: "Il campo e-mail è obbligatorio", email: "Inserisci un indirizzo email valido" }, agree_2: "  L'accettazione è necessaria" } }); // validate signup form on keyup and submit $("#tab_3").validate({ rules: { squaremeters_3: { required: true, number: true }, quotation_3: "required", firstname_3: "required", lastname_3: "required", email_3: { required: true, email: true }, agree_3: "required" }, messages: { squaremeters_3: { required: "Compilare e premere Calcola preventivo", number: "Inserire un numero e premere Calcola preventivo" }, quotation_3: "Calcolare un preventivo", firstname_3: "Il campo nome è obbligatorio", lastname_3: "Il campo cognome è obbligatorio", email_3: { required: "Il campo e-mail è obbligatorio", email: "Inserisci un indirizzo email valido" }, agree_3: "  L'accettazione è necessaria" } }); // validate signup form on keyup and submit $("#tab_4").validate({ rules: { squaremeters_4: { required: true, number: true }, quotation_4: "required", firstname_4: "required", lastname_4: "required", email_4: { required: true, email: true }, agree_4: "required" }, messages: { squaremeters_4: { required: "Compilare e premere Calcola preventivo", number: "Inserire un numero e premere Calcola preventivo" }, quotation_4: "Calcolare un preventivo", firstname_4: "Il campo nome è obbligatorio", lastname_4: "Il campo cognome è obbligatorio", email_4: { required: "Il campo e-mail è obbligatorio", email: "Inserisci un indirizzo email valido" }, agree_4: "  L'accettazione è necessaria" } }); // propose username by combining first- and lastname $("#username").focus(function() { var firstname = $("#firstname").val(); var lastname = $("#lastname").val(); if(firstname && lastname && !this.value) { this.value = firstname + "." + lastname; } }); //code to hide topic selection, disable for demo var newsletter = $("#newsletter"); // newsletter topics are optional, hide at first var inital = newsletter.is(":checked"); var topics = $("#newsletter_topics")[inital ? "removeClass" : "addClass"]("gray"); var topicInputs = topics.find("input").attr("disabled", !inital); // show when newsletter is checked newsletter.click(function() { topics[this.checked ? "removeClass" : "addClass"]("gray"); topicInputs.attr("disabled", !this.checked); }); });