Estoy tratando de hacer lo siguiente: Tengo un formulario que se valida con el complemento de validación jQuery. Hay un campo que tiene un par de reglas:validación de jQuery: ¿una devolución de llamada activada por una cierta regla?
var validator = $("#myForm").validate({
rules: {
emailForRequest: {
required: true,
email: true,
remote: "'emailcheck.php"
}
} ,
...
Ahora, cuando una de las reglas se rompe, más precisamente la regla remota, quiero provocar algo de código adicional. Entonces, si la regla remota arroja un error y su etiqueta de error aparece junto al campo emailForRequest, necesito una devolución de llamada que haga otras cosas en segundo plano.
En resumen: ¿puedo ver qué regla desencadena el error, lo veo en código, quiero decir, y adjuntar la ejecución de una función extra a la misma?
EDITAR Bien, gracias a la respuesta de Liam y una mejor lectura del manual llegué a esto:
rules: {
emailForRequest: {
required: true,
email: true,
remote: {
url: "'emailcheck.php" ,
type: "post" ,
complete: function(data){
if(data.responseText != "true") {
alert("Sorry mate, this email address was registered but never activated!");
}
}
}
}
} , ...
Pero un problema permanece. El script emailcheck.php puede devolver 3 resultados diferentes, uno de los cuales es verdadero y los otros 2 son dependientes del idioma. Así que me gustaría enviar un objeto json como la respuesta con una var para el tipo de error (el mismo en todos los idiomas) y una var con el mensaje (traducido). Entonces, en mi función completa puedo verificar el tipo de error y responder de acuerdo con eso. Lo suficientemente fácil, excepto que arruinará el error estándar de validación que se supone que aparece junto a mi campo y todavía no he encontrado una solución para eso.
¡Me encantaría ver una solución para esto también! – Patricia
¿Puedes decirnos dónde encontraste las instrucciones avanzadas, detallando la opción de emailForRequest, etc. –
Hola Liam, seguro y por cierto me pusiste en el camino correcto! Aquí está la URL donde encontré las instrucciones: http://docs.jquery.com/Plugins/Validation – Peter