Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/09/2010, 07:38
Dany_s
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problema al validar nick con jquery.validate()

yo tengo algo así

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.                 $.validator.addMethod("regex",function(value,element,regexp){
  9.                     var re= new RegExp(regexp);
  10.                     return this.optional(element) || re.test(value);
  11.                 },"Solo caracteres alfanumericos");
  12.  
  13.                 $.validator.addMethod("comprobarUsuario",function(value,element){
  14.                     //Simulo petición, una respuesta (pero comparo con el valor del input)
  15.                     if (value == 'asd'){
  16.                         usuarioValido = true;
  17.                         return true;
  18.                      } else {
  19.                         usuarioValido = false;
  20.                         return false;
  21.                      }                    
  22.                 },"Usuario ocupado");
  23.  
  24.                 $("#registro").validate({
  25.                     rules:{
  26.                             usuario:{
  27.                                 required:true,
  28.                                 regex:"^[a-zA-Z0-9_]+$",
  29.                                 comprobarUsuario:"dos.jsp"
  30.                             },
  31.                             pass:{
  32.                                 required:true
  33.                             },
  34.                             pass2:{
  35.                                 equalTo:"#pass"
  36.                             },
  37.                             email:{
  38.                                 email:true,
  39.                                 required:true
  40.                             },
  41.                             sitioweb:{
  42.                                 url:true
  43.                             },
  44.                             lenguaje:{
  45.                                 required:true
  46.                             }
  47.                     },
  48.                     messages:{
  49.                         usuario:{
  50.                             required:"Campo obligatorio"
  51.                         },
  52.                         pass:{
  53.                             required:"Campo obligatorio"
  54.                         },
  55.                         pass2:{
  56.                             equalTo:"La contraseña no es igual"
  57.                         },
  58.                         email:{
  59.                             email:"El email no es valido",
  60.                             required:"Campo es obligatorio"
  61.                         },
  62.                         sitioweb:{
  63.                             url:"La url no es valida"
  64.                         },
  65.                         lenguaje:{
  66.                             required:"Campo obligatorio"
  67.                         }
  68.                     },
  69.                     submitHandler:function(){
  70.                         alert("Los datos han sido enviados");
  71.                     }, success: function(label) {
  72.                         if (usuarioValido){
  73.                             label.addClass('valid').text("Usuario disponible");
  74.                         }
  75.                     }
  76.  
  77.                 })
  78.             })
  79.         </script>
  80.     </head>
  81.     <body>
  82.         <fieldset>
  83.             <legend>Ingreso de usuario</legend>
  84.             <form id="registro" name="registro" action="">
  85.                 <div>
  86.                     <label class="campo">Usuario:</label>
  87.                     <input type="text" id="usuario" name="usuario" />
  88.                 </div>
  89.                 <div>
  90.                     <label class="campo">Contraseña:</label>
  91.                     <input type="text" id="pass" name="pass" />
  92.                 </div>
  93.                 <div>
  94.                     <label class="campo">Repetir:</label>
  95.                     <input type="text" id="pass2" name="pass2" />
  96.                 </div>
  97.                 <div>
  98.                     <label class="campo">Email:</label>
  99.                     <input type="text" id="email" name="email" />
  100.                 </div>
  101.                 <div>
  102.                     <label class="campo">Sitio web:</label>
  103.                     <input type="text" id="sitioweb" name="sitioweb" />
  104.                 </div>
  105.                 <div>
  106.                     <label class="campo">Lenguaje:</label>
  107.                     <select id="lenguaje" name="lenguaje">
  108.                         <option selected="selected" value="">Selecione un lenguaje</option>
  109.                         <option value="1">PHP</option>
  110.                         <option value="2">JAVA</option>
  111.                         <option value="3">ASP.NET</option>
  112.                     </select>
  113.                 </div>
  114.                 <input type="submit" value="Registrar" />
  115.             </form>
  116.         </fieldset>
  117.     </body>
  118. </html>

fijate que simulo nomás esto, que seria una petoción a la db
if (value == 'asd'){