era mas sencillo, se puede poner las reglas como atributo de un elemeto, por ej:
Código HTML:
Ver original <input type="text" id="usuario" miRegla="elValor" name="usuario" />
fijate en miRegla="elValor"
y el método propio 'miRegla'
Código Javascript
:
Ver original$.validator.addMethod("miRegla",function(value,element,valorMiRegla){
alert(valorMiRegla);
return false;
},"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 <input type="text" id="usuario" remote="comprobar.php" name="usuario" />
se envia a comprobar.php?usuario=elValorDelInput
acordate de agregar el mensaje haciendo referencia a esa regla remote
Código Javascript
:
Ver originalusuario:{
required:"Campo obligatorio",
remote: jQuery.validator.format("El usuario {0} ya existe.")
}
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')