$(document).ready(function() { // validate signup form on keyup and submit var validator = $("#signupform").validate({ rules: { "usuarioView.nombre": "required", "usuarioView.apellidos": "required", "usuarioView.fechaNacimiento":{ required:true, remote:{ url: "/verificarFechaNacimiento.action", type: "post", cache:false } }, "usuarioView.login": { required: true, minlength: 5, maxlength: 50, accept: "^([a-zA-Z0-9]+([\.]?[-_]*[a-zA-Z0-9]+)*)$", remote:{ url: "/verificarExisteLogin.action", type: "post", cache:false } }, "acepto": "required", "usuarioView.password": { required: true, minlength: 4, notEqualTo: "#login", password: "#login" }, "usuarioView.repitePassword": { required: true, equalTo: "#password" }, "usuarioView.emailExterno": { required: true, email: true, remote: { url: "/verificarExisteEmail.action", type: "post", cache:false } }, "usuarioView.repiteEmailExterno": { required: true, email:true, equalTo: "#emailExterno" }, "usuarioView.paisResidencia": "required" }, messages: { "usuarioView.nombre": 'El campo "Nombre" es obligatorio.', "usuarioView.apellidos": 'El campo "Apellidos" es obligatorio.', "usuarioView.fechaNacimiento": { required: 'El campo "Fecha de Nacimiento" es obligatorio', remote: 'El campo "Fecha de Nacimiento" no es una fecha válida' }, "usuarioView.login": { required: 'El campo "Usuario" es obligatorio.', minlength: 'El campo "Usuario" debe tener entre 5 y 50 caracteres.', maxlength: 'El campo "Usuario" debe tener entre 5 y 50 caracteres.', accept: 'El "Usuario" debe comenzar por letra o número y solo puede contener los siguientes caracteres [ a-z , A-Z , 0-9 , - , _ , . ]', remote: 'El "Usuario" que has elegido ya está en uso' }, "usuarioView.password": { required: 'El campo "Contraseña" es obligatorio.', minlength: 'El campo "Contraseña" debe tener entre 4 y 20 caracteres.', notEqualTo: 'El campo "Usuario" y el campo "Contraseña" no pueden ser iguales.', password: 'La contraseña elegida es poco segura' }, "usuarioView.repitePassword": { required: 'El campo "Repite Contraseña" es obligatorio.', equalTo: 'El campo "Contraseña" y el campo "Repite Contraseña" deben ser iguales.' }, "usuarioView.emailExterno": { required: 'El campo "Email" es obligatorio.', email: 'El campo "Email" no es un email válido.', remote: 'El email especificado ya existe. Es posible que te registraras con anterioridad y no recuerdes tu clave o tu usuario, accede aquí para recuperarlos' }, "usuarioView.repiteEmailExterno": { required: 'El campo "Repite Email" es obligatorio.', email: 'El campo "Repite Email" no es un email válido.', equalTo: 'El campo "Email" y el campo "Repite Email" deben ser iguales.' }, "usuarioView.paisResidencia": 'El campo "País" es obligatorio.', "acepto": 'Debes aceptar los términos' }, // the errorPlacement has to take the table layout into account errorPlacement: function(error, element) { if ( element.is(":radio") ) error.appendTo( element.parent().next().next() ); else if ( element.is(":checkbox") ) error.appendTo ( element.parent().next() ); else error.appendTo( element.parent().next() ); }, // specifying a submitHandler prevents the default submit, good for the demo // submitHandler: function() { // submit(); // }, // set this class to error-labels to indicate valid fields success: function(label) { // set   as text for IE label.html(" ").addClass("checked"); } }); // propose username by combining first- and lastname $("#username").focus(function() { var firstname = $("#nombre").val(); var lastname = $("#apellidos").val(); if(firstname && lastname && !this.value) { this.value = firstname + "." + lastname; } }); $(function() { $('#nombre, #apellidos').tooltip(); }) //ayuda $('#mas').hover(function(){ $(".ayuda2").slideToggle();}); });