Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/09/2010, 11:58
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Problema al validar nick con jquery.validate()

Buenas Dani_s,

Muchas gracias nuevamente

He intentado aplicarlo pero no me funciona correctamente, algo hago mal

Quiero poder mostrar el mensaje de usuario disponible o usuario ocupado según corresponda en el campo "usuario" y no hay manera...

Código HTML:
Ver original
  1.     <head>
  2.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3.         <title>Formulario Validation</title>
  4.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  5.         <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
  6.         <script type="text/javascript">
  7.             $(document).ready(function(){
  8.                 var usuarioValido;
  9.                 $.validator.addMethod("regex",function(value,element,regexp){
  10.                     var re= new RegExp(regexp);
  11.                     return this.optional(element) || re.test(value);
  12.                 },"Solo caracteres alfanumericos");
  13.  
  14.                 /*$.validator.addMethod("comprobarUsuario",function(value,element, url){
  15.                     $.ajax({
  16.                         type: "GET",
  17.                         url: url,
  18.                         data: "usuario="+value,
  19.                         success: function(disponible){
  20.                             usuarioValido = (disponible == 'true')?true:false;
  21.                         }
  22.                     });
  23.                     return usuarioValido;
  24.                 },"Usuario ocupado");*/
  25.                 $.validator.addMethod("miRegla",function(value,element,valorMiRegla){
  26.                     $.ajax({
  27.                         type: "GET",
  28.                         url: valorMiRegla,
  29.                         data: "usuario="+value,
  30.                         success: function(disponible){
  31.                             if (disponible){
  32.                                 return true;
  33.                             }else{
  34.                                 return false;
  35.                             }
  36.                         }
  37.                     });
  38.                 },"Usuario ocupado");
  39.                
  40.                
  41.                 $("#registro").validate({
  42.                     rules:{
  43.                             usuario:{
  44.                                 required:true,
  45.                                 regex:"^[a-zA-Z0-9_]+$",
  46.                                 miRegla:"comprobar.php"
  47.                             },
  48.                             pass:{
  49.                                 required:true
  50.                             },
  51.                             pass2:{
  52.                                 equalTo:"#pass"
  53.                             },
  54.                             email:{
  55.                                 email:true,
  56.                                 required:true
  57.                             },
  58.                             sitioweb:{
  59.                                 url:true
  60.                             },
  61.                             lenguaje:{
  62.                                 required:true
  63.                             }
  64.                     },
  65.                     messages:{
  66.                         usuario:{
  67.                             required:"Campo obligatorio",
  68.                             remote: jQuery.validator.format("El usuario {0} ya existe.")
  69.                         },
  70.                         pass:{
  71.                             required:"Campo obligatorio"
  72.                         },
  73.                         pass2:{
  74.                             equalTo:"La contraseña no es igual"
  75.                         },
  76.                         email:{
  77.                             email:"El email no es valido",
  78.                             required:"Campo es obligatorio"
  79.                         },
  80.                         sitioweb:{
  81.                             url:"La url no es valida"
  82.                         },
  83.                         lenguaje:{
  84.                             required:"Campo obligatorio"
  85.                         }
  86.                     },
  87.                     submitHandler:function(){
  88.                         alert("Los datos han sido enviados");
  89.                     }/*, success: function(label) {
  90.                         if (usuarioValido){
  91.                             label.addClass('valid').text("Usuario disponible");
  92.                         }
  93.                     }*/
  94.  
  95.                 })
  96.             })
  97.         </script>
  98.     </head>
  99.     <body>
  100.         <fieldset>
  101.             <legend>Ingreso de usuario</legend>
  102.             <form id="registro" name="registro" action="">
  103.                 <div>
  104.                     <label class="campo">Usuario:</label>
  105.                     <input type="text" id="usuario" miRegla="" name="usuario" />
  106.                 </div>
  107.                 <div>
  108.                     <label class="campo">Contraseña:</label>
  109.                     <input type="text" id="pass" name="pass" />
  110.                 </div>
  111.                 <div>
  112.                     <label class="campo">Repetir:</label>
  113.                     <input type="text" id="pass2" name="pass2" />
  114.                 </div>
  115.                 <div>
  116.                     <label class="campo">Email:</label>
  117.                     <input type="text" id="email" name="email" />
  118.                 </div>
  119.                 <div>
  120.                     <label class="campo">Sitio web:</label>
  121.                     <input type="text" id="sitioweb" name="sitioweb" />
  122.                 </div>
  123.                 <div>
  124.                     <label class="campo">Lenguaje:</label>
  125.                     <select id="lenguaje" name="lenguaje">
  126.                         <option selected="selected" value="">Selecione un lenguaje</option>
  127.                         <option value="1">PHP</option>
  128.                         <option value="2">JAVA</option>
  129.                         <option value="3">ASP.NET</option>
  130.                     </select>
  131.                 </div>
  132.                 <input type="submit" value="Registrar" />
  133.             </form>
  134.         </fieldset>
  135.     </body>
  136. </html>

Muchas gracias de antemano!