Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/09/2010, 07:37
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()

era mas sencillo, se puede poner las reglas como atributo de un elemeto, por ej:

Código HTML:
Ver original
  1. <div>
  2.     <label class="campo">Usuario:</label>
  3.     <input type="text" id="usuario" miRegla="elValor" name="usuario" />
  4. </div>

fijate en miRegla="elValor"

y el método propio 'miRegla'

Código Javascript:
Ver original
  1. $.validator.addMethod("miRegla",function(value,element,valorMiRegla){
  2.     alert(valorMiRegla);
  3.     return false;
  4. },"El mensaje de miRegla.");

el primer parámetro de addMethod es el atributo que está en el elemento, el segundo es la función que tiene tres parámetros, el valor del input, el input (el elemento) y el valor de la regla o sea el valor del atributo miRegla que en el ejemplo es "elValor" entonces que eso comparás para devolver true o false, y bueno el tercero es el mensaje.

con eso ya podes hacer una petición ajax

podés usar el la regla del plugin 'remote' que hace petición remota y el parámetro que manda es el atributo name del input y a la url que especificas como valor del atributo remote

o sea que si tenes tu input
Código HTML:
Ver original
  1. <div>
  2.     <label class="campo">Usuario:</label>
  3.     <input type="text" id="usuario" remote="comprobar.php" name="usuario" />
  4. </div>

se envia a comprobar.php?usuario=elValorDelInput

acordate de agregar el mensaje haciendo referencia a esa regla remote

Código Javascript:
Ver original
  1. usuario:{
  2.    required:"Campo obligatorio",
  3.    remote: jQuery.validator.format("El usuario {0} ya existe.")
  4. }

fijate que para ese mensaje uso el método format para entregar un mensaje junto con el valor del input {0} fijate la doc

y fijate en los plugins que siempre abajo hay ejemplos y podes ver el código fuente para ver cómo lo hacen

TIP: seguramente que queres tener un html válido, pero si agregas un atributo como 'miRegla' en el elemento, no es conocido por lo tanto el validador te da error o advertencia, entonces podés agregar ese atributo con jQuery $('#usuario').attr('miRegla', 'elValor')