Foros del Web » Programando para Internet » Jquery »

Librería jquery validation

Estas en el tema de Librería jquery validation en el foro de Jquery en Foros del Web. Buenas tardes y feliz fin de semana ! Estoy peleandome con esta librería y creo que es muy buena , pero tengo un problema , ...
  #1 (permalink)  
Antiguo 21/11/2015, 09:46
 
Fecha de Ingreso: noviembre-2010
Mensajes: 156
Antigüedad: 13 años, 4 meses
Puntos: 0
Librería jquery validation

Buenas tardes y feliz fin de semana !

Estoy peleandome con esta librería y creo que es muy buena , pero tengo un problema , el formulario se me valida correctamente pero hay algunos valores cómo el dni y el email que verificio si existen en la bd y es obvio que si existen uno u otro , esto lo hago de la siguiente forma.

Código Javascript:
Ver original
  1. $( ".dni" ).keyup(function() {
  2.       var dni = $('.dni').val();
  3.  
  4.       console.log(dni);
  5.       $.ajax({
  6.                 url:   'finddni/'+dni,
  7.                 type:  'get',
  8.                 success:  function (data) {
  9.           if(data.userfind.length === 0){
  10.             $('.checkdni').empty();
  11.             $('.checkdni').append("Te puedes registrar con este DNI");
  12.           }else{
  13.             $('.checkdni').empty();
  14.             $('.checkdni').append("El DNI ya existe");
  15.           }
  16.                 }
  17.       });
  18.     });

Me funciona correctamente , pero hay alguna forma de añadirlo a la librería validate ?

Código Javascript:
Ver original
  1. //form validation rules
  2.             $("#registro").validate({
  3.                 debug: true,
  4.                 errorElement: "em",
  5.                 validClass: "has-success",
  6.                
  7.                     success: function(label) {
  8.                         label.removeClass("error").addClass("success");
  9.                     },
  10.                
  11.                
  12.                 rules: {
  13.                     nif: {
  14.                         required: true,
  15.                         esdnivalido: true
  16.                        
  17.                     },
  18.  
  19.                      name: {
  20.                         required: true,
  21.                         minlength:3,
  22.                         onlyletter: true,
  23.                        
  24.                     },
  25.                     surname: {
  26.                         required: true,
  27.                         minlength:3,
  28.                         onlyletter: true
  29.                     },
  30.                     files: {
  31.                         required: true,
  32.                         onlyphotos:true
  33.                     },
  34.                    multiplo: {
  35.                         required: true
  36.                     },
  37.                    
  38.                     comunidades: {
  39.                         required: true
  40.                     },
  41.                     provincias: {
  42.                         required: true
  43.                     },
  44.                     pueblos: {
  45.                         required: true
  46.                     },
  47.                     email: {
  48.                         required: true,
  49.                         valemail:true
  50.                     },
  51.                     password: {
  52.                         required: true,
  53.                         minlength:3
  54.                     },
  55.                     confirmarpassword: {
  56.                         required: true,
  57.                         equalTo: "#password"
  58.                     },
  59.                     presentacion: {
  60.                         minlength:15,
  61.                         required: true
  62.                     }
  63.        
  64.                 },
  65.                 messages: {
  66.                     nif: {
  67.                         required: "El NIF es obligatorio",
  68.                         minlength: "El NIF tiene que tener una longitud de 9 carácteres",
  69.                     },
  70.                     name: {
  71.                         required: "El nombre es obligatorio",
  72.                         minlength:"El nombre tiene que tener una longitud de 3 carácteres"
  73.                     },                 
  74.                     surname: {
  75.                         required: "El apellido es obligatorio",
  76.                         minlength: "El apellido tiene que tener una longitud de 3 carácteres"
  77.                     },
  78.                     files: {
  79.                         required: "La foto de perfil es obligatoria"
  80.                     },
  81.                     multiplo: {
  82.                         required: "La foto de perfil es obligatoria",
  83.                         onlyphotos:"El formato de las fotos es incorrecto"
  84.                     },
  85.                     birthday: {
  86.                         required: "La fecha de nacimiento es obligatorio",
  87.                     },
  88.                     comunidades: {
  89.                         required: "La comunidad autónoma es obligatorio",
  90.                     },
  91.                     provincias: {
  92.                         required: "La província es obligatoria",
  93.                     },
  94.                     pueblos: {
  95.                         required: "El pueblo es obligatorio",
  96.                     },
  97.                     email: {
  98.                         required: "El email es obligatorio",
  99.                     },
  100.                     password: {
  101.                         required: "La contraseña es obligatoria",
  102.                         minlength: "Tu contraseña tiene que tener más de tres carácteres"
  103.                     },
  104.                    
  105.                     confirmarpassword: {
  106.                         required: "Confirmar el password es obligatorio"
  107.                     },
  108.                     presentacion: {
  109.                         required: "El texto de presentación es obligatorio",
  110.                         minlength: "Tiene que a ver un mínimo de 15 carácteres"
  111.                     }
  112.                
  113.  
  114.                 },
  115.                
  116.    
  117.                                
  118.                 submitHandler: function(form) {
  119.                     form.submit();
  120.                 }
  121.             });
  122.         }
  123.     }
  124.    
  125.  
  126.     $.validator.addMethod("esdnivalido", isdniValid, "El formato del DNI no es válido");
  127.         $.validator.addMethod("esformatopreciocorrecto", isdniValid, "El formato introducido no es válido");
  128.  
  129.     function isdniValid(dni, element, param) {
  130.     //value es el valor actual del elemento que se está validando
  131.     //element es el elemento DOM que se está validando
  132.     //param son los parámetros especificados por el método
  133.     //  p. ej. en el caso de minlength="3", param será 3
  134.     //  en caso de que el método no tenga parámetros, param será true
  135.      var numero, let, letra;
  136.     var expresion_regular_dni = /^[XYZ]?\d{5,8}[A-Z]$/;
  137.  
  138.     dni = dni.toUpperCase();
  139.  
  140.     if(expresion_regular_dni.test(dni) === true){
  141.         numero = dni.substr(0,dni.length-1);
  142.         numero = numero.replace('X', 0);
  143.         numero = numero.replace('Y', 1);
  144.         numero = numero.replace('Z', 2);
  145.         let = dni.substr(dni.length-1, 1);
  146.         numero = numero % 23;
  147.         letra = 'TRWAGMYFPDXBNJZSQVHLCKET';
  148.         letra = letra.substring(numero, numero+1);
  149.         if (letra != let) {
  150.             //alert('Dni erroneo, la letra del NIF no se corresponde');
  151.             return false;
  152.         }else{
  153.             //alert('Dni correcto');
  154.             return true;
  155.         }
  156.     }else{
  157.         //alert('Dni erroneo, formato no válido');
  158.         return false;
  159.     }
  160.     }
  161.    
  162.    
  163.    
  164.      $.validator.addMethod("anyDate",
  165.     function(value, element) {
  166.         return value.match(/^(0?[1-9]|[12][0-9]|3[0-1])[/., -](0?[1-9]|1[0-2])[/., -](19|20)?\d{2}$/);
  167.         },
  168.         "Por favor introduce la fecha en el formato DD/MM/YY o DD/MM/YYYY"
  169.     );
  170.    
  171.          $.validator.addMethod("onlyletter",
  172.     function(value, element) {
  173.         return value.match(/[a-zA-Z]/);
  174.         },
  175.         "Sólo letras disponibles"
  176.     );
  177.    
  178.      $.validator.addMethod("onlyphotos",
  179.     function(value, element) {
  180.         return value.match(/\.(jpg|png)$/i);
  181.         },
  182.         "El formato de archivo es incorrecto"
  183.     );
  184.          $.validator.addMethod("valemail",
  185.     function(value, element) {
  186.         return value.match(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/);
  187.         },
  188.         "El formato del email es incorrecto"
  189.     );
  190.    
  191.  
  192.    
  193.    
  194.    
  195.  
  196.     //when the dom has loaded setup form validation rules
  197.     $(D).ready(function($) {
  198.         JQUERY4U.UTIL.setupFormValidation();
  199.     });

Etiquetas: validation
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:21.